腾讯地图api php经纬度转换地址,腾讯地图经纬度转换为百度地图经纬度
?
利用微信來獲取用戶當前的詳細地址是非常方便的,但是利用微信獲取到用戶的經緯度轉換為具體地址時,老是出現誤差很大,因此,決心把騰訊地圖經緯度轉換城百度地圖經緯度,然后再?利用百度地圖api來獲取詳細地址。
???????
具體怎么在微信里獲取經緯度,這里就累贅了,大家可以看前面的文章《??如何使??????用微信定位當前位置坐標經緯度???》。下面是轉換的代碼:
??????
/*騰訊地圖經緯度轉換為百度地圖經緯度*/
$wxurl?=?'http://api.map.baidu.com/geoconv/v1/?coords='.$_GPC['lng'].','.$_GPC['lat'].'&ak=你申請的KEY&output=json';
$ch?=?curl_init();
curl_setopt($ch,?CURLOPT_URL,?$wxurl);
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?true)?;?//?獲取數據返回
curl_setopt($ch,?CURLOPT_BINARYTRANSFER,?true)?;?//?在啟用?CURLOPT_RETURNTRANSFER?時候將獲取數據返回
$r?=?curl_exec($ch);
curl_close($ch);
$addr?=?json_decode($r);
$addr=$this->object_array($addr);
//利用百度地圖api把百度地圖經緯度解析為詳細地址
$baiduurl?=?'http://api.map.baidu.com/geocoder/v2/?ak=你申請的KEY&location='.$addr['result'][0]['y'].','.$addr['result'][0]['x'].'&output=json&pois=0';
$ch?=?curl_init();
curl_setopt($ch,?CURLOPT_URL,?$baiduurl);
curl_setopt($ch,?CURLOPT_RETURNTRANSFER,?true)?;?//?獲取數據返回
curl_setopt($ch,?CURLOPT_BINARYTRANSFER,?true)?;?//?在啟用?CURLOPT_RETURNTRANSFER?時候將獲取數據返回
$r?=?curl_exec($ch);
curl_close($ch);
$addr?=?json_decode($r);
$addr=$this->object_array($addr);
echo?$addr['result']['formatted_address'];exit;
把json數據遍歷為數組:
private?function?object_array($array)
{
if(is_object($array))
{
$array?=?(array)$array;
}
if(is_array($array))
{
foreach($array?as?$key=>$value)
{
$array[$key]?=?$this->object_array($value);
}
}
return?$array;
}
總結
以上是生活随笔為你收集整理的腾讯地图api php经纬度转换地址,腾讯地图经纬度转换为百度地图经纬度的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 木马与后门技术
- 下一篇: 阿里php开发规范,阿里巴巴java开发