2012-10-08 8 views
6

にはannotationViewsuserLocationの青い点があります。MKmapkitを無効にするmapView userLocation注釈ビュー

私は青い点を取得するには、次のコードを使用しています:

[self.mapView setShowsUserLocation:YES]; 

annotationViewsは選択可能であり、コールアウトを持っています。

ただし、annotationViewがユーザーの所在地に近い場合は、青い点がタッチを盗むことがあります。

私はannotationView.enabled = NO;を設定でき、annotationViewが表示されますが、閉じるからのタッチをannotationViewで盗むことはありません。

青い点annotationViewを有効にするには、ユーザーの場所を青色に設定したいと考えています。これは、閉じるの接触をannotationViewsで盗むものではありません。

私は青い点のタイトルを設定することができます。

self.mapView.userLocation.title = @"title here..." 

しかし、私は青い点を無効にすることはできません。

ありがとうございます!

+0

するTry annotation.hiddenは= – 0xSina

+1

YES NOあなたはself.mapView.userLocation.enabled =を行うことはできませんか? –

+0

独自のアノテーションビューを作成しても構わない場合は、 '-mapView:viewForAnnotation:'で使用されるビューをオーバーライドできます。しかし、多くの作業! –

答えて

8

あなたはdidAddAnnotationViewsデリゲートメソッドで、それを基準にします(ビューの準備ができていることを確認することができます)取得することによって、ユーザーの場所のMKAnnotationViewenabledを設定することができますにはenabledプロパティがありません(

-(void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views 
{ 
    MKAnnotationView *ulv = [mapView viewForAnnotation:mapView.userLocation]; 
    ulv.enabled = NO; 
} 

userLocationモデルオブジェクト - 。それは、ビューのプロパティです)

+0

素晴らしい、ありがとう! – user1607483

関連する問題