定位偏移量

在国内使用LocationManager定位所获得经纬度,是有一段较大距离的偏移的。原因是因为wifi 热点 、基站、 gps、等等所导致的都有,最后查找还是找到了问题所在,原来国内地图使用的坐标系统是GCJ-02而ios sdk中所用到的是国际标准的坐标系统WGS-84。因为国内使用的是加密后的坐标系GCJ-02就是网络上叫的火星坐标。locationManager就是因为得到的是火星坐标偏移后的经纬度,所以导致在MapView上有很大的偏差,而在MKMapView上通过定位自己位置所获得的经纬度有是准确,因为apple已经对国内地图做了偏移优化。MKMapView里的方法虽然简单,也可以实时的获取自己的位置而且基本上都是准确的位置,但是也就无法使用locationManager中的一些功能了,其实最有效的方法就是写一个关于OC火星坐标转换的算法,将WGS-84坐标系统转为GCJ-02的Objective-C代码,这样就能方便的使用CLLocationManager这个类了。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容