【发布时间】:2023-03-09 13:32:01
【问题描述】:
我有一个MKMapView 和一个MKUserTrackingBarButtonItem。用户的当前位置只能在Follow 或FollowWithHeading 模式下显示。实现如下所示:
- (void)mapView:(MKMapView *)mapView
didChangeUserTrackingMode:(MKUserTrackingMode)mode
animated:(BOOL)animated
{
[mapView setShowsUserLocation:(mode != MKUserTrackingModeNone)];
}
这是我的代码中唯一调用setShowsUserLocation 的地方,当按下MKUserTrackingBarButtonItem 时它按预期工作。
当UserTrackingMode 通过拖动地图更改时会出现我的问题:在这种情况下,“蓝点”注释会按预期消失,但在大约 20% 的情况下,它会在拖动结束后重新出现。
如果我随后测试地图的 showsUserLocation 属性,它始终设置为 NO,即使“蓝点”注释可见。
如果您知道如何解决此问题,我将非常感谢您的帮助。
【问题讨论】: