【发布时间】:2012-03-05 21:21:39
【问题描述】:
我想知道是否有办法从 MKMapView 获取接收到的位置的准确性。
我原以为下面的代码会起作用,但事实并非如此。我也可以直接登录该属性吗?
- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation {
if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyBest) {
NSLog(@"Best");
}
if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyBestForNavigation) {
NSLog(@"Best for nav");
}
if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyHundredMeters) {
NSLog(@"100m");
}
if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyKilometer) {
NSLog(@"km");
}
if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyNearestTenMeters) {
NSLog(@"10m");
}
if (userLocation.location.horizontalAccuracy == kCLLocationAccuracyThreeKilometers) {
NSLog(@"3km");
}
}
一个圆圈通常代表一个位置的准确性,将它包裹在蓝色的小圆圈周围,因此很明显是在发送准确性。
感谢您提供的任何帮助。
【问题讨论】:
-
我应用了相同的逻辑,但在 HorizontalAccuracy 没有返回有效结果时使用了 verticalAccuracy。我发现: 精度键:-1.000000 = BEST,-2.000000 = NAV,10.000000 = 10m,100.000000 = 100m,1000.000000 = 1km,3000.000000 = 3km,从地图(使用模拟器)获得的结果是:-1
标签: iphone ios mkmapview userlocation