2009-12-06 7 views
5

için tıklanabilir bir açıklama ekleme Üzerinde bir açıklama açıklaması olan bir MapView'a bir açıklama eklemek istiyorum ve bunu anlayamıyorum.Bir UIMapView

Ben İşaretini MKAnnotation protokolüne uygun ve daha sonra MapView oluşturmak ve eklemek bir yer işareti sınıfı oluşturduk: görüntülendiğinde

// Add annotation information 
PlaceMark *venuePlacemark = [[PlaceMark alloc] initWithCoordinate:location]; 
venuePlacemark.locationTitle = [locationDictionary valueForKey:VENUE_NAME_KEY]; 
venuePlacemark.locationSubtitle = @"Touch to show in Google Maps"; 

// Create the accessory button on the placemark 
[venueMap addAnnotation:venuePlacemark]; 
[venueMap setRegion:region animated:TRUE]; 
[venueMap regionThatFits:region]; 

tüm eserler ve bir iğne Bunun anlamı görüntüler metni doğru bir kararı dışarı Dokunulduğunda . Çağrıya nasıl bir açıklama düğmesi ekleyeceğimi anlayamıyorum. Üzgünüz, bu temel ve herhangi bir yardım mutluluk duyacaktır.

Dave

+0

Bu iyi bir soru. Buradaki belgeler çok kötü. Apple, SDK'ları hakkında yazdıklarında bu belgeleri yazdıklarında gerçekten çok fazla bilgi birikimine sahip oluyor. –

cevap

9

ben ... bunu anladım aşağıdaki temsilci yöntemi Uygulanan ettik düşünün:

- (MKAnnotationView *)mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>)annotation 
{ 
    MKPinAnnotationView *dropPin=[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"venues"]; 

    UIButton *disclosureButton = [UIButton buttonWithType:UIButtonTypeDetailDisclosure]; 
    [disclosureButton addTarget:self action:@selector(mapCallOutPressed:) forControlEvents:UIControlEventTouchUpInside]; 

    dropPin.rightCalloutAccessoryView = disclosureButton; 
    dropPin.animatesDrop = YES; 
    dropPin.canShowCallout = YES; 

    return dropPin; 
} 
+2

Bu çalışır ancak [disclosureButotn addTarget] yerine muhtemelen önceden tanımlanmış temsilci yöntemi kullanmanız gerekir - (void) mapView: (MKMapView *) mapView ek açıklamaView: (MKAnnotationView *) görünüm calloutAccessoryControlTapped: (UIControl *) denetimi –

+0

Teşekkürler Jasconius ... ona bir girdap verecek ... –