बनाएं क्या मैं MKAnnotation
बना सकता हूं, या क्या यह केवल पढ़ा जा सकता है? मेरे पास निर्देशांक हैं, लेकिन setCoordinate
का उपयोग कर मुझे MKAnnotation
मैन्युअल रूप से बनाने में आसान नहीं लगता है।आईफोन: एमकेएनोटेशन
विचार?
बनाएं क्या मैं MKAnnotation
बना सकता हूं, या क्या यह केवल पढ़ा जा सकता है? मेरे पास निर्देशांक हैं, लेकिन setCoordinate
का उपयोग कर मुझे MKAnnotation
मैन्युअल रूप से बनाने में आसान नहीं लगता है।आईफोन: एमकेएनोटेशन
विचार?
MKAnnotation एक प्रोटोकॉल है। तो आपको अपनी खुद की एनोटेशन ऑब्जेक्ट लिखनी होगी जो इस प्रोटोकॉल को लागू करे। तो अपने MyAnnotation हैडर लगता है:
- (id) initWithCoordinate:(CLLocationCoordinate2D)coord
{
coordinate = coord;
return self;
}
तो नक्शा करने के लिए अपने टिप्पणी जोड़ने के लिए:
MyAnnotation * annotation = [[[MyAnnotation alloc] initWithCoordinate:coordinate] autorelease];
[self.mapView addAnnotation:annotation];
आप तो
@interface MyAnnotation : NSObject<MKAnnotation> {
CLLocationCoordinate2D coordinate;
}
@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;
// add an init method so you can set the coordinate property on startup
- (id) initWithCoordinate:(CLLocationCoordinate2D)coord;
और अपने कार्यान्वयन (MyAnnotation.m) की तरह दिखता है एनोटेशन कॉलआउट पर एक शीर्षक और उपशीर्षक नहीं था, आपको शीर्षक और उपशीर्षक गुण जोड़ने की आवश्यकता है।
सेब MapCallouts प्रोजेक्ट की जांच करें। आपको जो भी चीज चाहिए वह उस फ़ाइल में है: http://developer.apple.com/iphone/library/samplecode/MapCallouts/Introduction/Intro.html
ता कभी इतना, बस जो मैं खोज रहा था। –
आईफोन ओएस 4 में एक नई कक्षा एमकेपॉइंटएनोटेशन है जो एमकेएनोटेशन प्रोटोकॉल का एक ठोस कार्यान्वयन है।
यह joshrl –
को इंगित करने के लिए धन्यवाद यदि आपको केवल मूल टिप्पणियों की आवश्यकता है तो यह बहुत आसान है। धन्यवाद! – radven
एमकेपॉइंटएनोटेशन * प्वाइंट एन्नोटेशन = [[एमकेपॉइंटएनोटेशन आवंटन] init]; बिंदुअनोटेशन.कोर्डिनेट = लोकेशन। कॉर्डिनेट; [mkMapView addAnotation: pointAnotation]; –
यह वही है जो मुझे चाहिए था। मैं कहां रखूंगा - (आईडी) initWithCoordinate: (CLLocationCoordinate2D) समन्वय; तरीका? मेरी .h फ़ाइल या .m में? –
कोई समस्या नहीं है। मैंने कुछ और विवरण के साथ उत्तर अपडेट किया है :) – RedBlueThing
किसी कारण से, मुझे कोई '-initWithCoord:' विधि नहीं मिलती जब मैं निर्माण और चलाने की कोशिश करता हूं। –