定位偏移量

在国内使用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这个类了。

你可能感兴趣的:(定位偏移量)