gpt4 book ai didi

iPhone 开发 - CLLocationManager 与 MapKit

转载 作者:行者123 更新时间:2023-12-03 19:01:37 24 4
gpt4 key购买 nike

如果我想在 map 上显示 userLocation,同时记录用户的位置,向 userLocation.location 添加观察者并记录位置是个好主意,还是应该使用 CLLocationManager 来记录用户location 并使用 mapView.showUserLocation 显示用户的当前位置(蓝色指示器)?我想显示 MapKit API 支持的默认蓝色指示器。

此外,这是一个粗略的示例代码:

- (void)viewDidLoad {
...

locationManager = [[CLLocationManager alloc] init];
locationManager.desiredAccuracy = kCLLocationAccuracyBest;
locationManager.distanceFilter = DISTANCE_FILTER_VALUE;
locationManager.delegate = self;
[locationManager startUpdatingLocation];

myMapView.showUserLocation = YES;
[myMapView addObserver:self forKeyPath:@"userLocation.location" options:0 context:nil];

...
}

- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context {
// Record the location information
// ...
}

- (void)locationManager:(CLLocationManager *)manager didUpdateToLocation:(CLLocation *)newLocation fromLocation:(CLLocation *)oldLocation {
NSLog(@"%s begins.", __FUNCTION__);

// Make sure that the location returned has the desired accuracy
if (newLocation.horizontalAccuracy <= manager.desiredAccuracy)
return;

// Record the location information
// ...
}

在幕后,我认为 MKMapView 还使用 CLLocationManager 来获取用户的当前位置?那么,这会产生任何问题吗,因为我相信 CLLocationManager 和 MapView 都会尝试使用相同的位置服务?是否会存在任何冲突以及缺乏准确/必需或最新的数据?

最佳答案

查看此SO entry :CLLocationManager 在其所有实例中使用相同的数据,因此不存在冲突。

关于iPhone 开发 - CLLocationManager 与 MapKit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2590508/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com