Pregunta

¿Puedo crear una MKAnnotation, o es de sólo lectura? Tengo las coordenadas, pero no me es fácil crear manualmente un MKAnnotation con el uso de setCoordinate.

Las ideas?

¿Fue útil?

Solución

MKAnnotation es un protocolo. Por lo que necesita para escribir su propia anotación objeto que implementa este protocolo. Por lo que sus MyAnnotation cabecera se ve así:

@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;

y su apariencia como de implementación (MyAnnotation.m):

- (id) initWithCoordinate:(CLLocationCoordinate2D)coord
{
    coordinate = coord;
    return self;
}

Así que para añadir su anotación para el mapa:

MyAnnotation * annotation = [[[MyAnnotation alloc] initWithCoordinate:coordinate] autorelease];
[self.mapView addAnnotation:annotation];

Si quieres probar un título y subtítulo de la llamada de anotación, es necesario agregar las propiedades del título y subtítulo.

Otros consejos

En el iPhone OS 4 hay una nueva clase MKPointAnnotation que es una implementación concreta del protocolo MKAnnotation.

proyecto

Comprobar manzana MapCallouts. Todo lo que necesita es en ese archivo: http://developer.apple.com/iphone/library/samplecode /MapCallouts/Introduction/Intro.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top