我用了CoreLocation获取经纬度,在收到经纬度数据后使用下面的代码配置地图:
var Map = MKMapView()
let Center = CLLocationCoordinate2D(纬度数据, 精度数据)
let Span = MKCoordinateSpanMake(0.02, 0.02)
let annotation = MKPointAnnotation()
annotation.coordinate = Center
annotation.title = "当前位置"
Map.showsUserLocation = true
Map.region = MKCoordinateRegionMake(Center, Span)
Map.addAnnotation(annotation)
为啥会差这么一点呢?mapview不也是用CoreLocation的数据吗?但是如我我吧经纬度数据复制出来,放到OS X的地图应用里面搜索,却能得到我当前的位置。
1、 GPS,WGS-84,原始坐标体系。一般用国际标准的GPS记录仪记录下来的坐标,都是GPS的坐标。我们国家是不允许使用wgs-84的,原因好像是为了保密
2、 GCJ-02,国测局02年发布的坐标体系。又称“火星坐标”。比如谷歌,腾讯,高德都在用这个坐标体系。GCJ-02也是国内最广泛使用的坐标体系。
3、 其他坐标体系。一般都是由GCJ-02进过偏移算法得到的。这种体系就根据每个公司的不同,坐标体系都不一样了。比如,百度和搜狗就使用自己的坐标体系,与其他坐标体系不兼容。
所以你的mpview的话,应该是百度地图的坐标肯定有偏差的