2012-10-08 11 views
6

annotationViews ile mapView ve userLocation mavi nokta var.MKmapkit eşgörünümünü devre dışı bırakmaAçıklama açıklaması Not

Ben Mavi noktaya almak için aşağıdaki kodu kullanıyorum:

[self.mapView setShowsUserLocation:YES]; 

annotationViews seçilebilir ve ek bilgileri var.

Ancak bir annotationView kullanıcının konumuna yakınsa bazen mavi nokta dokunuşunu çalar.

Bir annotationView.enabled = NO; ayarlayabilir ve ek açıklamaları gösterecektir, ancak yakın bir yerden annotationView tarafından bir dokunuş çalmaz.

Kullanıcı konum mavi noktasını annotationView etkin = HAYIR olarak ayarlamak istiyorum, bu nedenle annotationViews ile yakın dokunuşunu çalmaz.

Birlikte mavi nokta başlığını ayarlayabilirsiniz:

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

Ama Mavi noktaya devre dışı bırakamaz.

Teşekkürler!

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

(üzerinde hiçbir enabled mülkiyet yoktur: Kullanıcı konumu en MKAnnotationViewdidAddAnnotationViews temsilci yönteminde bir referansı alarak (böylece görünümü hazır olduğundan emin olabilir) üzerinde enabled ayarlayabilirsiniz

+0

deneyin annotation.hidden = – 0xSina

+1

EVET Sen HAYIR self.mapView.userLocation.enabled = yapamaz? –

+0

Kendi ek açıklama görünümünüzü oluşturmayla ilgilenmiyorsanız, '-mapView: viewForAnnotation:' içinde kullanılan görünümü geçersiz kılabilirsiniz. Çok iş olsa da! –

cevap

8

userLocationmodeli nesne -. o bakış bir özellik var)

+0

Harika çalışıyor, teşekkürler! – user1607483