Gps认识之各大坐标系
三大定位坐标系
地球坐标 (WGS84)
- 国际标准,从 GPS 设备中取出的数据的坐标系
- 国际地图提供商使用的坐标系
火星坐标 (GCJ-02)也叫国测局坐标系
- 中国标准,从国行移动设备中定位获取的坐标数据使用这个坐标系
- 国家规定: 国内出版的各种地图系统(包括电子形式),必须至少采用GCJ-02对地理位置进行首次加密。
百度坐标 (BD-09)
- 百度标准,百度 SDK,百度地图,Geocoding 使用
- (本来就乱了,百度又在火星坐标上来个二次加密)
现在说说各大地图图层及定位的坐标系
图层坐标是指地图的坐标,不是实际的gps坐标,中国规定:中国区域必须对图层加密,所以实际坐标并不是真实的gps坐标(WGS84)
,是加密过后的火星坐标(GCJ-02)或者火星坐标(BD-09).
图层坐标系
- 百度地图 (BD-09)
- 谷歌地图 (国内GCJ-02,国外WGS84)
- 谷歌地球 (国内国外WGS84)
- 高德地图 (GCJ-02)
定位坐标系
- 百度地图sdk (BD-09)
- 谷歌地图sdk (WGS84)
- 高德地图sdk (GCJ-02)
- android原生定位sdk (WGS84)
高德地图api
坐标转换与位置判断
- 坐标转换
支持GPS/Mapbar/Baidu等多种类型坐标在高德地图上使用。参见类CoordinateConverter。
1 | CoordinateConverter converter = new CoordinateConverter(); |
- 判断位置所在区域
1 | CoordinateConverter类提供的isAMapDataAvailable(double latitude,double longitude)接口可以用来判断指定位置是否在大陆以及港、澳地区。 |
总结:
如果用高德和google双地图,可以采用高德的坐标转换工具判断及转换给google,因为google和高德图层都是火星坐标