php如何根据IP获取当前经纬度以及地域信息

 更新时间:2022年01月27日 14:37:59   作者:Cocosinu  
这篇文章主要给大家介绍了关于php如何根据IP获取当前经纬度以及地域信息的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

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

其中涉及几个关键功能

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如何根据IP获取当前经纬度以及地域信息的文章就介绍到这了,更多相关php获取当前经纬度及地域内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 在PHP站点的页面上添加Facebook评论插件的实例教程

    在PHP站点的页面上添加Facebook评论插件的实例教程

    这篇文章主要介绍了在PHP站点的页面上添加Facebook评论插件的实例教程,这样用户便可以以Facebook的用户身份在Facebook样式的评论表单上发表评论,需要的朋友可以参考下
    2016-01-01
  • php实现分页工具类分享

    php实现分页工具类分享

    本文分享一个php实现的分页工具类,代码内有注释,大家参考使用吧
    2014-01-01
  • PHP树-不需要递归的实现方法

    PHP树-不需要递归的实现方法

    下面小编就为大家带来一篇PHP树-不需要递归的实现方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • ThinkPHP中html:list标签用法分析

    ThinkPHP中html:list标签用法分析

    这篇文章主要介绍了ThinkPHP中html:list标签用法,较为详细的分析总结了ThinkPHP中html:list标签的定义、使用方法及相关注意事项,需要的朋友可以参考下
    2016-01-01
  • 浅谈laravel aliases别名的原理

    浅谈laravel aliases别名的原理

    今天小编就为大家分享一篇浅谈laravel aliases别名的原理,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • php 调用百度sms来发送短信的实现示例

    php 调用百度sms来发送短信的实现示例

    这篇文章主要介绍了php 调用百度sms来发送短信的实现示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 对laravel in 查询的使用方法详解

    对laravel in 查询的使用方法详解

    今天小编就为大家分享一篇对laravel in 查询的使用方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • Yii隐藏URL中index.php的方法

    Yii隐藏URL中index.php的方法

    这篇文章主要介绍了Yii隐藏URL中index.php的方法,涉及Yii配置文件的设置与伪静态的配置技巧,需要的朋友可以参考下
    2016-07-07
  • PHP实现中文转拼音的方法

    PHP实现中文转拼音的方法

    这篇文章运用简单易懂的例子给大家介绍PHP将中文转换成拼音的方法,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助
    2023-11-11
  • Laravel模型事件的实现原理详解

    Laravel模型事件的实现原理详解

    模型事件在 Laravel 的世界中,你对 Eloquent 大多数操作都会或多或少的触发一些模型事件,下面这篇文章主要给大家介绍了关于Laravel模型事件的实现原理,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴。
    2018-03-03

最新评论