MTKit-Category:CLLocation + Mar

功能概述:

用于作GPS定位坐标转换。首先弄清楚经纬度坐标有3种,一种是真实的坐标,就是地球坐标;一种是百度坐标(调用百度地图SDK传回来的坐标值)、最后一种比较常见的即是火星坐标(CLLocationManager、 MKMapView、高德SDK、 国内google、搜搜、阿里云 都是火星坐标)。

locationManager就是因为得到的是火星坐标偏移后的经纬度,所以导致在MapView上有很大的偏差,而在MKMapView上通过定位自己位置所获得的经纬度是准确的,因为apple已经对国内地图做了偏移优化。


应用场景:

假如后台传回来给你一个坐标,而你需要将该坐标显示在MKMapView上,请注意后台用的是哪门子的SDK,传回来的是地球坐标、百度坐标还是火星坐标,无论如何,始终需要保证你最后将该坐标转化为火星坐标,因为MKMapView上显示的是火星坐标才能正确显示位置。反之,假如需要传坐标回后台,记住你从 locationManager 获得的是火星坐标,请确定需不需要转换后传回后台。

暴露API:

//从地图坐标转化到火星坐标

- (CLLocation*)locationMarsFromEarth;


//从火星坐标转化到百度坐标

- (CLLocation*)locationBaiduFromMars;


//从百度坐标到火星坐标

- (CLLocation*)locationMarsFromBaidu;





你可能感兴趣的:(MTKit-Category:CLLocation + Mar)