gpt4 book ai didi

iPhone MkMapView 将中心锁定到用户位置

转载 作者:行者123 更新时间:2023-12-03 20:26:51 26 4
gpt4 key购买 nike

我有一个 MkMapView,并希望将 map 保持在用户位置的中心,就像按下范围按钮时 iPhone map 应用程序所做的那样。

我使用 setCenterCoordinate 方法,因为我不需要设置缩放。每次从位置管理器更新位置时我都会使用它。

问题是,由于它每半秒(大约)更新一次,因此始终调用此方法“setCenterCooperative”,并且应用程序会挂起。如果我需要切换到 map View 以外的选项卡,我必须按住另一个选项卡才能完成此操作。

好吧,所有这些文字只是为了询问是否有正确的方法使 MkMapView 将其中心设置为用户位置(蓝点)。

谢谢

最佳答案

我已经描述了一种通过 KVO 通知获取 MKMapViewuserLocation.location 属性更新的更好方法,而不是使用其他位置管理器。 How do I zoom an MKMapView to the users current location without CLLocationManager?

当然,您应该对接收 KVO 通知的方法进行一些更改。类似这样的事情:

-(void)observeValueForKeyPath:(NSString *)keyPath  
ofObject:(id)object
change:(NSDictionary *)change
context:(void *)context {

if ([self.mapView isUserLocationVisible]) {
[self.mapView setCenterCoordinate:self.mapView.userLocation.location.coordinate
animated:YES];
}
}

我已经测试了这段代码,它工作正常。

关于iPhone MkMapView 将中心锁定到用户位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2159335/

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