Swift 实现 BD-09、GCJ-02 和 WGS84 坐标互转
开发地图应用时,坐标转换是家常便饭。在中国,常用的坐标系有三种:百度地图的 BD-09、国家测绘局的 GCJ-02 和国际标准 WGS84。为了方便开发者,Swift 工具类 BLMapCoordinatesChangeHelper
提供了 BD-09、GCJ-02 和 WGS84 之间的互转功能。
为什么需要坐标转换?因为不同的地图服务商使用不同的坐标系,直接使用会导致位置偏差。例如,百度地图API 使用的是 BD-09 坐标系,而高德地图和谷歌地图使用的是 GCJ-02 坐标系。
BLMapCoordinatesChangeHelper
类包含了各种坐标转换方法,例如:
- BD-09 转 GCJ-02:用于将百度地图坐标转换为高德或谷歌地图坐标。
- GCJ-02 转 BD-09:用于将高德或谷歌地图坐标转换为百度地图坐标。
- GCJ-02 转 WGS84:用于将国内坐标转换为国际标准坐标,例如使用 OpenStreetMap 或进行精确的全球定位时。
- WGS84 转 GCJ-02:用于将国际标准坐标转换为国内坐标。
- WGS84 转 BD-09:用于将国际标准坐标转换为百度地图坐标。
这些转换方法基于复杂的数学算法,包括双线性映射和偏移等步骤。
38.63MB
文件大小:
评论区