38 votos

MKPinAnnotationView: hay más de tres colores disponibles?

De acuerdo a la Manzana docs, MKPinAnnotationView pin del color está disponible en rojo, verde y morado. Es allí cualquier manera de conseguir otros colores también? Yo he encontrado nada en la documentación.

81voto

yonel Puntos 6648

algunos más ;)

alt textenter image description here

alt textenter image description here

alt text

Y los originales (con pantalla retina ahora ! ;) :

alt textalt text

alt textalt text

alt textalt text

Y el código


- (MKAnnotationView *)mapView:(MKMapView 

40voto

RedBlueThing Puntos 21332

Usted puede encontrar las siguientes imágenes útiles:

alt textalt textalt textalt text

y el código para utilizar en viewForAnnotation:

- (MKAnnotationView *) mapView:(MKMapView *)mapView viewForAnnotation:(id <MKAnnotation>) annotation
{   
    // ... get the annotation delegate and allocate the MKAnnotationView (annView)
    if ([annotationDelegate.type localizedCaseInsensitiveCompare:@"NeedsBluePin"] == NSOrderedSame)
    {
        UIImage * image = [UIImage imageNamed:@"blue_pin.png"];
        UIImageView *imageView = [[[UIImageView alloc] initWithImage:image] autorelease];
        [annView addSubview:imageView];
    }
    // ...

11voto

Nic Hubbard Puntos 11309

Usted podría utilizar ZSPinAnnotation para crear una anotación alfileres sobre la marcha con un determinado UIColor: https://github.com/nnhubbard/ZSPinAnnotation

8voto

BadPirate Puntos 11614

Me gusta Yonel la Respuesta , pero sólo un mano a mano, cuando se crea un custom MKAnnotationView, tendrás que asignar manualmente el desplazamiento. Para las imágenes Yonel: (puede dejar fuera de la calloutButton cosas si usted no necesita uno de esos)

#pragma mark MKMapViewDelegate
- (MKAnnotationView *)mapView:(MKMapView *)aMapView viewForAnnotation:(id <MKAnnotation>)annotation
{
    if(![annotation isKindOfClass:[MyAnnotation class]]) // Don't mess user location
        return nil;

    MKAnnotationView *annotationView = [aMapView dequeueReusableAnnotationViewWithIdentifier:@"spot"];
    if(!annotationView)
    {
        annotationView = [[MKAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"spot"];
        annotationView.rightCalloutAccessoryView = [UIButton buttonWithType:UIButtonTypeDetailDisclosure];
        [(UIButton *)annotationView.rightCalloutAccessoryView addTarget:self action:@selector(openSpot:) forControlEvents:UIControlEventTouchUpInside];
        annotationView.enabled = YES;
        annotationView.canShowCallout = YES;
        annotationView.centerOffset = CGPointMake(7,-15);
        annotationView.calloutOffset = CGPointMake(-8,0);
    }

    // Setup annotation view
    annotationView.image = [UIImage imageNamed:@"pinYellow.png"]; // Or whatever

    return annotationView;
}

3voto

malcolmhall Puntos 1909

Ninguno de los carteles de las soluciones de trabajo de 100%, si usted está utilizando el pin drop de animación. Cañoneo de la solución es muy clara porque permite que el pin que todavía tienen ambos tipos de extremos (la punta afilada al caer, y con las circulares de papel rizado) pero por desgracia una visión original de la cabeza de alfiler de color puede ser visto cuando el pin rebota cuando golpea el mapa. yonel la solución de sustitución de todo el pin de la imagen significa que el pin se cae con la circular de papel rizado antes de que incluso se golpeó el mapa!

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X