php如何根据IP获取当前经纬度以及地域信息
吾爱主题
阅读:194
2022-08-13 11:39:00
评论:0
今天心血来潮脑海忽出一个想法,即打算写出来玩耍一下。
其中涉及几个关键功能
1.获取用户当前经纬度、地址、地域信息;
2.计算用户与用户之间的距离、路线。
3.其他,与今天的文章没有关系就不废话啦。
大概翻阅了一下资料,方法有很多,今天主要介绍一下腾讯地图的方法吧
废话不多说直接上码;
PHP求请求方法:
?1 2 3 4 5 6 7 8 9 10 11 12 | function getLocationInfo( $ip , $key ){ //$ip 用户的当前IP地址 //$key 腾讯地图开发者需要的KEY秘钥,自己去注册一下吧 //$url 腾讯地图API请求接口地址 $url = 'https://apis.map.qq.com/ws/location/v1/ip?ip=' . $ip . '&key=' . $key ; $info = file_get_contents ( $url ); //GET请求,记住这里必须要用GET哦 $info = json_decode( $info , true); //将返回数据转JSON return $info ; //返回请求结果 } |
返回结果:
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | array(3) { ["ip"]=> string(12) "0.0.0.0" //IP地址 ["location"]=> array(2) { ["lat"]=> float(00.0000) //纬度 ["lng"]=> float(000.00000) //经度 } ["ad_info"]=> array(5) { ["nation"]=> string(6) "中国" //国家 ["province"]=> string(12) "黑龙江省" //省 ["city"]=> string(12) "哈尔滨市" //市 ["district"]=> string(9) "道里区" //区 ["adcode"]=> int(000000) //地址码 } } |
就这样么简单,已经拿到经纬度啦!
至于计算距离或者根据经纬度获取当前详细地址就都不是问题啦~!
php根据IP获取IP所在城市
?1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | //根据现有IP地址获取其地理位置(省份,城市等)的方法 function GetIpLookup( $ip = '' ){ if ( empty ( $ip )){ return '请输入IP地址' ; } $res = @ file_get_contents ( 'http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js&ip=' . $ip ); if ( empty ( $res )){ return false; } $jsonMatches = array (); preg_match( '#\{.+?\}#' , $res , $jsonMatches ); if (!isset( $jsonMatches [0])){ return false; } $json = json_decode( $jsonMatches [0], true); if (isset( $json [ 'ret' ]) && $json [ 'ret' ] == 1){ $json [ 'ip' ] = $ip ; unset( $json [ 'ret' ]); } else { return false; } return $json ; } $ipInfos = GetIpLookup( '123.125.114.144' ); //baidu.com IP地址 //ipInfos 是一个数组 var_dump( $ipInfos ); |
总结
到此这篇关于php如何根据IP获取当前经纬度以及地域信息的文章就介绍到这了,更多相关php获取当前经纬度及地域内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!
原文链接:https://blog.csdn.net/cocosinu/article/details/122432515
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。