1

ここに質問があります。 私はしようとしています。mkmapview showsUserLocation

if (Map.showsUserLocation == YES) 
     { 
      Map.showsUserLocation = NO; 
     } 

これはやや単純です。アプリがちょうど始まったときshowsUserLocationはYESに設定されますが、デバイスがその場所を見つけるのに時間がかかります。したがって、ユーザーがshowsUserLocation = NOをクリックすると、場所が見つかる前(青い点が表示される前)に表示されます。 EXC_BAD_ACCESS。

Googleマップでは、Googleマップの前に青い点が表示されているので、showsUserLocationボタンを押してもアクティビティアイコンが表示されません。 どうすればいいですか? ありがとうございます。

+0

私は完全に理解していませんでした。何をしたいですか??? – alecnash

答えて

1

MKMapViewDelegateは方法があります。

- (void)mapView:(MKMapView *)mapView didUpdateUserLocation:(MKUserLocation *)userLocation 

その後、無効にそれを維持するまで、あなたは、ここでボタンを有効にすることができます。

+0

ありがとう。私はこの方法を知っています。私の脳はこの種のことを考えることができませんでした。 – user774150

0

非常に快適にすることができます。あなたの現在の位置を取得すると、現在の位置を取得するまで 'currentLocation'ボタンを無効にしてから、現在の位置を取得するときは 'currentLocation'ボタンをクリックします。これは、viewDidLoad/ViewDidAppearの 'currentLocation'ボタンを無効にし、-(MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:メソッドの 'currentLocation' 。これはあなたのために働くでしょう。