提取谷歌坐标转百度坐标的javascript API用于PHP等服务端语言

    今天在某论坛看见有同行在问微信地理位置的问题,我们以前做微信方案时,这块用的比较简单,因为只显示一个乘车地图即可。所以直接把谷歌地图扔在百度地图里面,先用javascript api接口转换,然后显示乘车路线。整个过程就是使用的浏览器地图。
<xml>
 <ToUserName><![CDATA[toUser]]></ToUserName>
 <FromUserName><![CDATA[fromUser]]></FromUserName>
 <CreateTime>1351776360</CreateTime>
 <MsgType><![CDATA[location]]></MsgType>
 <Location_X>23.134521</Location_X>
 <Location_Y>113.358803</Location_Y>
 <Scale>20</Scale>
 <Label><![CDATA[位置信息]]></Label>
 </xml> 
      说到这块,其实大家完全可以用js api转换出百度坐标之后ajax显示数据的,但是有的时候又特别需要服务端转换,所以我特意去看了百度的API接口demo,提取出了转换的接口。
http://api.map.baidu.com/ag/coord/convert?from=2&to=4&mode=1&x=116.3786889372559&y=39.90762965106183
程序员来说,不需要多言,相比就可以理解了,返回如下:
[{"error":0,"x":"MTE2LjM4NTEyODk3MDM2","y":"MzkuOTEzNzgwNTQ0Njk2"}]
如果是批量替换呢,好吧,好像是这样
http://api.map.baidu.com/ag/coord/convert?from=2&to=4&mode=1&x=116.3786889372559,116.38632786853032,116.39534009082035,116.40624058825688,116.41413701159672&y=39.90762965106183,39.90795884517671,39.907432133833574,39.90789300648029,39.90795884517671
返回如下:
[{"error":0,"x":"MTE2LjM4NTEyODk3MDM2","y":"MzkuOTEzNzgwNTQ0Njk2"},{"error":0,"x":"MTE2LjM5MjcyOTg3NjM=","y":"MzkuOTE0MjE5NjY3MzMy"},{"error":0,"x":"MTE2LjQwMTcxNjczNjI4","y":"MzkuOTEzNzY4NTE2MjE0"},{"error":0,"x":"MTE2LjQxMjYxOTYwMDc1","y":"MzkuOTE0MjIxMTQyNDM3"},{"error":0,"x":"MTE2LjQyMDU0MDk1ODI1","y":"MzkuOTE0MjE0MDc0NDc2"}]

结果是不是很乱码的感觉,是base64加密过的,自己解密就好了,因为是单纯的浮点数加密,不限编码


你可能感兴趣的:(PHP,百度地图,坐标转换)