कैसे खोला जाता प्रोग्राम के रूप में MKAnnotationView बाहर कहते हैं? (IPhone, MapKit)

वोट
26

मैं एक के लिए कॉल आउट को खोलने के लिए चाहते हैं MKPinAnnotationViewप्रोग्राम के रूप में। उदाहरण के लिए मैं नक्शे पर 10 पिन ड्रॉप, और एक मेरे लिए निकटतम को खोलने के लिए चाहते हैं। मैं ऐसा कैसे कर पाऊंगा?

एप्पल के लिए 'चुना' पैरामीटर निर्दिष्ट किया है MKAnnotationView's, लेकिन यह सीधे स्थापित करने हतोत्साहित (यह काम नहीं करता, इसे करने की कोशिश)।

बाकी के लिए MKAnnotationViewकेवल एक setHighlighted (है वही कहानी ), और कर सकते हैं ShowCalloutविधि ..

किसी भी संकेत करता है, तो यह बिल्कुल संभव है?

03/02/2010 को 18:16
का स्रोत उपयोगकर्ता
अन्य भाषाओं में...                            


2 जवाब

वोट
77

अपने mapViewController में एक कार्रवाई विधि बनाने के लिए:

- (void)openAnnotation:(id)annotation 
{
    //mv is the mapView
    [mv selectAnnotation:annotation animated:YES];

}

इसके बाद आप वर्तमान स्थान और एनोटेशन सरणी में उपलब्ध चलने के आधार पर निकटतम एनोटेशन निर्धारित कर सकते हैं।

[mv annotations];

एक बार जब निकटतम एनोटेशन गणना की जाती है, कहते हैं:

[self openAnnotation:closestAnnotation];

MapView प्रदर्शन क्षेत्र के केंद्र में अपनी व्याख्या जगह स्वचालित रूप से स्क्रॉल करना चाहिए।

26/02/2010 को 05:45
का स्रोत उपयोगकर्ता

वोट
1

तेजी से 3 में यह करने के लिए अद्यतन किया जाता है:

func openAnnotation(annotation: MkAnnotation) {
_ = [mapView .selectAnnotation(annotation, animated: true)]
}

और किसी भी टिप्पणी का उपयोग कर कहा जा सकता है (यह व्याख्या कॉलआउट दृश्य खोलने के लिए और नक्शे पर एनोटेशन केंद्रित करने के लिए प्रयास करेंगे)

उदाहरण के लिए एनोटेशन का एक काल्पनिक सूची में दूसरे नंबर पर एनोटेशन का उपयोग कर।

openAnnotation(annotation: mapView.annotations[1])
23/05/2017 को 16:14
का स्रोत उपयोगकर्ता

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more