2012-10-08 33 views
6

我有一個mapViewannotationViewsuserLocation藍點。禁用MKmapkit mapView userLocation註解查看

我使用下面的代碼來獲得藍點:

[self.mapView setShowsUserLocation:YES]; 

annotationViews是可選的,並有標註。

但是,如果annotationView接近用戶的位置,有時藍點會竊取觸摸。

我可以設置一個annotationView.enabled = NO;,它會顯示annotationView,但它不會從annotationView以近距離偷取觸摸。

我想將用戶位置藍點annotationView設置爲啓用=否,所以它不會偷竊annotationViews

我可以將藍點的標題爲:

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

但我不能禁用藍點。

謝謝!

+0

嘗試annotation.hidden =是 – 0xSina

+1

您無法執行self.mapView.userLocation.enabled = NO? –

+0

如果您不介意製作自己的註釋視圖,則可以覆蓋在'-mapView:viewForAnnotation:'中使用的視圖。雖然很多工作! –

回答

8

您可以設置enabled用戶位置由didAddAnnotationViews委託方法得到它的引用的MKAnnotationView(所以你可以肯定的看法是準備好):

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

(有上沒有enabled財產userLocation模型對象 - 它是視圖的屬性。)

+0

很好,謝謝! – user1607483