基于PHP如何实现获取当前经纬度,代码是什么

Admin 2022-08-04 群英技术资讯 428 次浏览

在这篇文章中,我们来学习一下“基于PHP如何实现获取当前经纬度,代码是什么”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。

今天心血来潮脑海忽出一个想法,即打算写出来玩耍一下。

其中涉及几个关键功能

1.获取用户当前经纬度、地址、地域信息;

2.计算用户与用户之间的距离、路线。

3.其他,与今天的文章没有关系就不废话啦。

大概翻阅了一下资料,方法有很多,今天主要介绍一下腾讯地图的方法吧

废话不多说直接上码;

PHP求请求方法:

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;   //返回请求结果
}

返回结果:

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所在城市

//根据现有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如何实现获取当前经纬度,代码是什么的内容应该都有一定的认识了吧,希望这篇能对大家有所帮助。最后,想要了解更多,欢迎关注群英网络,群英网络将为大家推送更多相关的文章。 群英智防CDN,智能加速解决方案

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服