php如何根據(jù)IP獲取當(dāng)前經(jīng)緯度以及地域信息
今天心血來潮腦海忽出一個(gè)想法,即打算寫出來玩耍一下。
其中涉及幾個(gè)關(guān)鍵功能
1.獲取用戶當(dāng)前經(jīng)緯度、地址、地域信息;
2.計(jì)算用戶與用戶之間的距離、路線。
3.其他,與今天的文章沒有關(guān)系就不廢話啦。
大概翻閱了一下資料,方法有很多,今天主要介紹一下騰訊地圖的方法吧
廢話不多說直接上碼;
PHP求請(qǐng)求方法:
function getLocationInfo($ip,$key){ //$ip 用戶的當(dāng)前IP地址 //$key 騰訊地圖開發(fā)者需要的KEY秘鑰,自己去注冊(cè)一下吧 //$url 騰訊地圖API請(qǐng)求接口地址 $url = 'https://apis.map.qq.com/ws/location/v1/ip?ip='.$ip.'&key='.$key; $info = file_get_contents($url); //GET請(qǐng)求,記住這里必須要用GET哦 $info = json_decode($info, true); //將返回?cái)?shù)據(jù)轉(zhuǎn)JSON return $info; //返回請(qǐng)求結(jié)果 }
返回結(jié)果:
array(3) { ["ip"]=> string(12) "0.0.0.0" //IP地址 ["location"]=> array(2) { ["lat"]=> float(00.0000) //緯度 ["lng"]=> float(000.00000) //經(jīng)度 } ["ad_info"]=> array(5) { ["nation"]=> string(6) "中國" //國家 ["province"]=> string(12) "黑龍江省" //省 ["city"]=> string(12) "哈爾濱市" //市 ["district"]=> string(9) "道里區(qū)" //區(qū) ["adcode"]=> int(000000) //地址碼 } }
就這樣么簡單,已經(jīng)拿到經(jīng)緯度啦!
至于計(jì)算距離或者根據(jù)經(jīng)緯度獲取當(dāng)前詳細(xì)地址就都不是問題啦~!
php根據(jù)IP獲取IP所在城市
//根據(jù)現(xiàn)有IP地址獲取其地理位置(省份,城市等)的方法 function GetIpLookup($ip = ''){ if(empty($ip)){ return '請(qǐng)輸入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 是一個(gè)數(shù)組 var_dump($ipInfos);
總結(jié)
到此這篇關(guān)于php如何根據(jù)IP獲取當(dāng)前經(jīng)緯度以及地域信息的文章就介紹到這了,更多相關(guān)php獲取當(dāng)前經(jīng)緯度及地域內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在PHP站點(diǎn)的頁面上添加Facebook評(píng)論插件的實(shí)例教程
這篇文章主要介紹了在PHP站點(diǎn)的頁面上添加Facebook評(píng)論插件的實(shí)例教程,這樣用戶便可以以Facebook的用戶身份在Facebook樣式的評(píng)論表單上發(fā)表評(píng)論,需要的朋友可以參考下2016-01-01ThinkPHP中html:list標(biāo)簽用法分析
這篇文章主要介紹了ThinkPHP中html:list標(biāo)簽用法,較為詳細(xì)的分析總結(jié)了ThinkPHP中html:list標(biāo)簽的定義、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-01-01php 調(diào)用百度sms來發(fā)送短信的實(shí)現(xiàn)示例
這篇文章主要介紹了php 調(diào)用百度sms來發(fā)送短信的實(shí)現(xiàn)示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-11-11PHP實(shí)現(xiàn)中文轉(zhuǎn)拼音的方法
這篇文章運(yùn)用簡單易懂的例子給大家介紹PHP將中文轉(zhuǎn)換成拼音的方法,代碼非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助2023-11-11