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获取当前经纬度及地域内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • thinkPHP3.2实现分页自定义样式的方法

    thinkPHP3.2实现分页自定义样式的方法

    这篇文章主要介绍了thinkPHP3.2实现分页自定义样式的方法,结合实例形式分析了thinkPHP3.2针对底层框架代码的修改与使用相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • PHP分多步骤填写发布信息的简单方法实例代码

    PHP分多步骤填写发布信息的简单方法实例代码

    有的时候,在做发布信息提交页面时,需要把很多复杂信息提交页面分成多个步骤来提交。下现就是实现的这种功能的基本方法
    2012-09-09
  • Laravel 5框架学习之子视图和表单复用

    Laravel 5框架学习之子视图和表单复用

    本文给大家主要介绍的是Laravel5框架中的子视图以及表单复用的用法,十分的细致全面,对于大家熟练掌握Laravel5框架非常有帮助,有需要的小伙伴可以参考下
    2015-04-04
  • destoon复制新模块的方法

    destoon复制新模块的方法

    这篇文章主要介绍了destoon复制新模块的方法,可以在destoon的实际使用过程中根据情况建立一些系统没有的模块,需要的朋友可以参考下
    2014-06-06
  • ThinkPHP实现支付宝接口功能实例

    ThinkPHP实现支付宝接口功能实例

    这篇文章主要介绍了ThinkPHP实现支付宝接口功能的方法,实例讲述了支付宝接口的下载及二次开发方法,以及对应的ThinkPHP开发技巧,需要的朋友可以参考下
    2014-12-12
  • php 算法之实现相对路径的实例

    php 算法之实现相对路径的实例

    这篇文章主要介绍了php 算法之实现相对路径的实例的相关资料,希望通过本文能帮助到大家,让大家实现这样的功能,需要的朋友可以参考下
    2017-10-10
  • yii2实现

    yii2实现 "上一篇,下一篇" 功能的代码实例

    在很多页面上都需要加入上一篇,下一篇 按钮,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • CI框架中集成CKEditor编辑器的教程

    CI框架中集成CKEditor编辑器的教程

    CKEditor是在很多开发过程中都会用到的一个富文本编辑器,那么如何在CI框架中使用它呢?这里介绍了在CI下使用CKEditor的方法,版本比较低,是在CI 1.7.3下使用fckeditor 2.6.6。供大家参考。
    2014-06-06
  • 全世界最小的php网页木马一枚 附PHP木马的防范方法

    全世界最小的php网页木马一枚 附PHP木马的防范方法

    php网页木马代码,大家可以看下自己的网站里面是不是有这样的代码,注意网站安全用mcafee限制w3wp.exe生成php或者asp文件。并在php.ini中设置一下。
    2009-10-10
  • 学习PHP Cookie处理函数

    学习PHP Cookie处理函数

    这篇文章主要为大家详细介绍了PHP Cookie处理函数的使用方法,感兴趣的小伙伴们可以参考一下
    2016-08-08

最新评论