原文地址:http://blog.yyable.com/?cat=9
最近想在android上定位自己的位置,并在百度和google的地图上显示。
实现中发现了一个问题,就是android上定位的坐标显示在google和百度地图上一直不太准确。最后发现是坐标转换的问题。
我现在理解的是有三种坐标系,一种是android定位返回的经纬度坐标,将其称为gps坐标。
另一种是google map api使用的坐标,将其称为google坐标。
另一种是百度map api使用的坐标。
在google或者baidu map中定位时,需要将gps坐标转换成相应的坐标。
转换方法使用的是百度的api。
转换方法为:
http://api.map.baidu.com/ag/coord/convert?from=0&to=4&x=120.0904441&y=30.3056719
在type1和type2中填上相应的值就能转换。
gps坐标的type=0
google坐标的type=2
baidu坐标的type=4
得到的结果形式为:
{“error”:0,”x”:”MTE2LjM1MTA3ODgzMDM=”,”y”:”MzkuOTgwOTIwNDEwMTU2″}x和y都经过了base64转换。