mysql经纬度 微信_微信如何根据经纬度坐标查询具体地理位置

好多人会问为什么微信高级接口获取的坐标信息位置不准,主要原因不是微信获取的不准,而是微信获取的是gps坐标,如果你直接用百度或google的api去解析的话肯定会出现误差的。

首先你需要吧gps位置转换成google或者百度的坐标,然后在通过转换后的坐标去获取准确的地理位置。

方法一:gps转换成google或者百度坐标,转换gps的接口 http://map.yanue.net/gps.html

方法二:gps转换成百度坐标

function getgps($lats,$lngs, $gps=false, $google=false)//gpg 转百度坐标

{

$lat=$lats;

$lng=$lngs;

if($gps)

$c=file_get_contents("http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=$lng&y=$lat");

else if($google)

$c=file_get_contents("http://api.map.baidu.com/ag/coord/convert?from=2&to=4&x=$lng&y=$lat");

else

return array($lat,$lng);

$arr=(array)json_decode($c);

if(!$arr['error'])

{

$lat=base64_decode($arr['y']);

$lng=base64_decode($arr['x']);

}

return array($lat,$lng);

}

下面是通过百度坐标获取地理位置信息

返回josn格式的:

http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=json&pois=1

返回xml格式的:

http://api.map.baidu.com/geocoder/v2/?ak=E4805d16520de693a3fe707cdc962045&callback=renderReverse&location=39.983424,116.322987&output=xml&pois=1

下面是google的api获取的地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值