私はMKMapView
にMKUserTrackingBarButtonItem
を持っています。ユーザーの現在の位置は、Follow
またはFollowWithHeading
モードでのみ表示する必要があります。実装は次のようになります。MKMapViewのshowsUserLocationの不規則な振る舞い
- (void)mapView:(MKMapView *)mapView
didChangeUserTrackingMode:(MKUserTrackingMode)mode
animated:(BOOL)animated
{
[mapView setShowsUserLocation:(mode != MKUserTrackingModeNone)];
}
これはsetShowsUserLocation
が呼び出された私のコードで唯一の場所であり、それはMKUserTrackingBarButtonItem
が押されたときに期待どおりに動作します。
マップをドラッグしてUserTrackingMode
を変更すると、この問題が発生します。この場合、「青い点」の注釈は意図したとおりに消えますが、ドラッグの終了時には約20%のケースで再表示されます。
マップのshowsUserLocation
プロパティをテストすると、「青い点」の注釈が表示されていても、常にNOに設定されます。
これを解決する方法がわかっていると、非常に感謝しています。
これは動作しますが、あなたに感謝します! – carton