2012-05-08 23 views
0

MKPlacemarkを付けたMKMapViewがあります。地図を表示するときに、私は場所のマークのタイトルを表示しています。 これまではすべてが問題ありません。iPhoneでタイトルを表示/非表示にするMKPlacemarkを無効にする

ユーザーが触れると非表示にしたい

私は役立ちますが、完全マップとの相互作用を無効に

myMapView.userInteractionEnabled = NO; 
myMapView.multipleTouchEnabled = NO; 

を追加しようとしました。私はズームイン/アウトして地図を移動する可能性を残したい。

+0

試してみませんかタイトルで試してみてください。 – vishiphone

答えて

0

次のコードあなたがかもしれない、その作業.... 希望は、このロジックを使用して目印を使用した場合のトリックMapKitデリゲートメソッドで

for (UIGestureRecognizer *g in [myMapView gestureRecognizers]) 
     [myMapView removeGestureRecognizer:g]; 
+0

http://stackoverflow.com/questions/9492308/hiding-and-disabling-user-interaction-on-a-mapkit-pinも参照してください。 – Anna

0

PINを作成する代わりに、カスタムアノテーションを作成します。カスタムアノテーションでは、ユーザーに提示するすべての情報を含むビューを作成し、プレースマークを無効にします。これにより、タップを処理することは想定されていませんが、1つの緯度/経度に関連付けられたすべての静的/動的情報が表示されます。

+0

私はカスタム注釈を持っています。プレースマークを無効にするにはどうすればよいですか? – Misha

0

がここ

- (MKAnnotationView *)mapView:(MKMapView *)mV viewForAnnotation:(id <MKAnnotation>)annotation { 

    static NSString *defaultPinID = @"com.invasivecode.pin"; 
    MKPinAnnotationView *pinView = (MKPinAnnotationView *)[yourMapView dequeueReusableAnnotationViewWithIdentifier:defaultPinID]; 
    pinView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:defaultPinID] autorelease]; 
    if (annotation == yourMapview.userLocation) 
     return nil; 

    pinView.pinColor = MKPinAnnotationColorRed; 

    pinView.userInteractionEnabled = NO; 

    //pinView.canShowCallout = YES; 
    pinView.animatesDrop = YES; 

    return pinView; 
} 

怒鳴るコードを試してみましたこれはあなたを助けます... :)

関連する問題