web(pc端)網(wǎng)站獲取地理位置定位方法,百度接口獲取網(wǎng)站城市

第一步獲取用戶ip地址

/**

* 獲取用戶真實 IP

*/

public function getIP()

{

static $realip;

if (isset($_SERVER)){

if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){

$realip = $_SERVER["HTTP_X_FORWARDED_FOR"];

} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {

$realip = $_SERVER["HTTP_CLIENT_IP"];

} else {

$realip = $_SERVER["REMOTE_ADDR"];

}

} else {

if (getenv("HTTP_X_FORWARDED_FOR")){

$realip = getenv("HTTP_X_FORWARDED_FOR");

} else if (getenv("HTTP_CLIENT_IP")) {

$realip = getenv("HTTP_CLIENT_IP");

} else {

$realip = getenv("REMOTE_ADDR");

}

}

return $realip;

}

第二步通過IP地址利用百度接口獲取位置

1、申請百度ak?http://lbsyun.baidu.com/apiconsole/key

2、?開始獲取地理位置

$content =file_get_contents("http://api.map.baidu.com/location/ip?ak=27d76708ab31eed8028e135ab******&ip=".$ip."&coor=bd09ll");

php后臺邏輯直接復(fù)制修改ak和自由更換ip參數(shù)其他不變

$json = json_decode($content,true);//解析json

if($json['status']!=0)

? ? ? ? ? {

? ? ? ? ? ? ? return "定位失敗";

? ? ? ? ? ? ? exit();

? ? ? ? ? }

通過status判斷是否獲取成功,如果==0表示獲取成功,如果不等于=均為獲取失敗。調(diào)試時候可以直接打野錯誤內(nèi)容即可。

$arr = $json['content']['address_detail']['city'];//解析json獲取市級名稱,至于獲取其他參數(shù)請參考正確返回值

【{"address":"CN|\u5b89\u5fbd|\u5408\u80a5|None|CHINANET|0|0","content":{"address":"\u5b89\u5fbd\u7701\u5408\u80a5\u5e02","address_detail":{"city":"\u5408\u80a5\u5e02","city_code":127,"district":"","province":"\u5b89\u5fbd\u7701","street":"","street_number":""},"point":{"x":"117.28269909","y":"31.86694226"}},"status":0}】

if(isset($arr))

{

return str_replace("市","",$arr);//返回市級單位? ?這里是去除獲取的市級名稱中的市

}else{

return "合肥";

}

完結(jié)了,代碼直接復(fù)制就可以是喲個

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容