2012-03-14 14 views
6

mapView.showsUserLocation को सत्य पर सेट करने के बाद, क्या MKUserLocation बबल दिखाए बिना स्थान अपडेट प्राप्त करना संभव है? mapView:viewForAnnotation: में रिटर्निंग शून्य बस बबल दिखाता है, और किसी अन्य प्रकार की एनोटेशन को वापस करने से एक एनोटेशन दिखाता है, जिसे मैं नहीं चाहता हूं।MKUserLocation छुपाएं जब MKMapView दिखाता है UserLocation == YES

उत्तर

25

आप उपयोगकर्ता स्थान के दृष्टिकोण को छुपा सकते हैं didAddAnnotationViews प्रतिनिधि विधि में:

-(void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views 
{ 
    MKAnnotationView *ulv = [mapView viewForAnnotation:mapView.userLocation]; 
    ulv.hidden = YES; 
} 
+1

वाह, एकदम सही है। मुझे एहसास नहीं हुआ कि आप एमकेएएनोटेशन व्यू को इस तरह से जोड़ सकते हैं। हालांकि मुझे लगता है कि यह समझ में आता है, क्योंकि वे केवल यूआई ऑब्जेक्ट्स हैं। धन्यवाद! –

+0

मुझे कोड का यह टुकड़ा कहां रखना है? – Elgert

+0

@Elgert, यह विधि कक्षा में होनी चाहिए जो MKMapView प्रतिनिधि को लागू करता है (आमतौर पर वह मानचित्र जिसमें दृश्य दृश्य होता है)। सुनिश्चित करें कि मानचित्र दृश्य की प्रतिनिधि संपत्ति सेट है। – Anna

0

स्विफ्ट 3:

func mapView(_ mapView: MKMapView, didAdd views: [MKAnnotationView]) { 
    if let userLocation = mapView.view(for: mapView.userLocation) { 
     userLocation.isHidden = true 
    } 
} 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^