2011-11-24 27 views
5

पर नहीं दिखाई दे MKAnnotationView मैं, MKPointAnnotation के साथ अपने नक्शे टिप्पणी करने की कोशिश कर रहा हूँ इस तरह:नक्शा

- (void)viewDidLoad 
{ 
    NSLog(@"RootViewController viewDidLoad"); 

    [super viewDidLoad]; 

    CLLocationCoordinate2D coord = 
    CLLocationCoordinate2DMake(54.903683,23.895435); 

    MKPointAnnotation *toyAnnotation = [[MKPointAnnotation alloc] init]; 

    toyAnnotation.coordinate = coord; 
    toyAnnotation.title = @"Title"; 
    toyAnnotation.subtitle = @"Subtitle"; 

    [mapView addAnnotation:toyAnnotation]; 

    [toyAnnotation release]; 

} 

- (MKAnnotationView *)mapView:(MKMapView *)m 
      viewForAnnotation:(id <MKAnnotation>)annotation 
{ 
    NSLog(@"RootViewController mapView: viewForAnnotation:"); 
    NSLog(@"%@",annotation); 

    MKAnnotationView *pin = [[MKAnnotationView alloc] 
          initWithAnnotation:annotation 
          reuseIdentifier:nil]; 

    pin.enabled = YES; 
    pin.canShowCallout = YES; 

    return [pin autorelease]; 
} 

पिन मानचित्र पर प्रकट करने के लिए विफल रहता है।

2011-11-24 15:04:03.808 App[2532:707] RootViewController mapView: viewForAnnotation: 
2011-11-24 15:04:03.810 App[2532:707] <MKPointAnnotation: 0x1885c0> 

मैं गलत क्या कर रहा हूँ और इस समस्या को हल करने के लिए: RootViewControllermapView के लिए एक प्रतिनिधि है और इस तरह mapView:viewForAnnotation: विधि कहा जाता हो जाता है?

उत्तर

18

viewForAnnotation में, MKAnnotationView के बजाय MKPinAnnotationView बनाएं (जिसके लिए आपको image सेट करना होगा)।

हालांकि डिफ़ॉल्ट पिन एनोटेशन व्यू के लिए, आपको प्रतिनिधि विधि को लागू करने की आवश्यकता नहीं है।

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