腾讯地图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;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值