2010-06-19 11 views
8

गुगलिंग के 2 घंटे बाद मुझे कोई जवाब नहीं मिला, इसलिए यह मेरा आखिरी शॉट है।कस्टम एनोटेशन, कॉल-आउट और ब्लू सटीकता सर्कल के साथ वर्तमान स्थान

मैं mkmapview पर उपयोगकर्ता वर्तमान स्थान के लिए एक कस्टम एनोटेशन का उपयोग करना चाहता हूं। लेकिन मैं इसके चारों ओर नीली सटीकता सर्कल भी चाहता हूं।

क्या यह किया जा सकता है?

यदि नहीं, तो क्या मैं सर्कल के साथ डिफ़ॉल्ट नीले बिंदु पर कॉल-आउट जोड़ सकता हूं?

कारण मुझे इसकी आवश्यकता है क्योंकि मेरे ऐप पर, वर्तमान स्थान डॉट अक्सर अन्य एनोटेशन के तहत गायब हो जाता है। इसलिए मैं वर्तमान स्थान के रूप में कॉल-आउट के साथ बैंगनी पिन का उपयोग करता हूं।

if ([annotation isKindOfClass:MKUserLocation.class]) 
    { 
     MKPinAnnotationView *userAnnotationView = (MKPinAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:@"UserLocation"]; 
     if (userAnnotationView == nil) { 
      userAnnotationView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"UserLocation"]autorelease]; 
     }    
     else 
      userAnnotationView.annotation = annotation; 

     userAnnotationView.enabled = YES; 
     userAnnotationView.animatesDrop = NO; 
     userAnnotationView.pinColor = MKPinAnnotationColorPurple; 
     userAnnotationView.canShowCallout = YES; 
     [self performSelector:@selector(openCallout:) withObject:annotation afterDelay:0.01]; 

     return userAnnotationView; 
    } 

किसी भी सलाह के लिए धन्यवाद:

यहाँ टिप्पणी के लिए मेरे कोड है। चीयर्स, क्रिश्चियन

उत्तर

6

ठीक है, इसलिए मैंने कस्टम अधिसूचना को हटा दिया लेकिन कॉल को स्वचालित रूप से पॉप अप किया। इस तरह:

mapView.showsUserLocation=TRUE; 
mapView.userLocation.title = NSLocalizedString (@"Here am I",@"Here am I"); 
[self performSelector:@selector(openCallout:) withObject:mapView.userLocation afterDelay:3.0]; 

और:

- (void)openCallout:(id<MKAnnotation>)annotation { 
[mapView selectAnnotation:annotation animated:YES];} 

देरी कॉल-आउट दिखाई नहीं देंगे बिना।

+0

इसके लिए 4h की तरह खोजा गया, ty! – SaifDeen

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