百度地图的坐标(北斗与GPS)转换问题
瞬间发现上当了,终于明白为什么要使用回调这么麻烦的方法来完成坐标转换的问题了。
?
原来坐标的转换的公式根本就不想给你看到,百度转换坐标的方法是这样的:
1 获取原始的北斗或GPS的坐标值
2 将坐标点发送到api.map.baidu.com/ag/coord/convert?...
3 有返回值后调用回调函数,将转换后的坐标点给你
这使用回调是因为需要向另外一个地址请求处理,是异步的操作。
实验一下这个链接,返回如下:
{"error":0,"x":"MTA4LjI5Njc5Mzc.....","y":"MjIuODQzMTM2MDE....."}
ps:没有传入?callback=BMap.Convertor值。值不完全我省略了,不然你就知道我在哪了。
?
?
这个结果貌似有点出人意料,x和y的值并非我们想想要的坐标点
做个测试:
test_point = new BMap.Point("MTA4LjI5Njc5Mzc.....", "MjIuODQzMTM2MDE.....");
alert(test_point.lng + ":" + test_point.lat);
发现其实这些值是编码后的坐标点,不管是什么编码方式,用百度的API是可以解读的
?
现在终于知道百度坐标点是如何完成转换的了。(其实还是不知道,看不到服务器的代码。。。)
?
http://my.oschina.net/u/782560/blog/121615
?
?