2010-06-19 12 views
8

Después de 2 horas de búsqueda en Google no pude encontrar una respuesta, esta es mi última oportunidad.Ubicación actual con anotación personalizada, llamada y círculo de precisión azul

Me gustaría utilizar una anotación personalizada para la ubicación actual del usuario en un mkmapview. Pero también quiero tener el círculo azul de precisión a su alrededor.

se puede hacer esto?

Si no es así, ¿puedo agregar una llamada al punto azul predeterminado con un círculo?

La razón por la que necesito esto es porque en mi aplicación, el punto de ubicación actual a menudo desaparece en otras anotaciones. Entonces, es por eso que uso un pin morado con una llamada como ubicación actual.

Aquí está mi código para la anotación:

if ([annotation isKindOfClass:MKUserLocation.class]) 
    { 
     MKPinAnnotationView *userAnnotationView = (MKPinAnnotationView *)[self.mapView dequeueReusableAnnotationViewWithIdentifier:@"UserLocation"]; 
     if (userAnnotationView == nil) { 
      userAnnotationView = [[[MKPinAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:@"UserLocation"]autorelease]; 
     }    
     else 
      userAnnotationView.annotation = annotation; 

     userAnnotationView.enabled = YES; 
     userAnnotationView.animatesDrop = NO; 
     userAnnotationView.pinColor = MKPinAnnotationColorPurple; 
     userAnnotationView.canShowCallout = YES; 
     [self performSelector:@selector(openCallout:) withObject:annotation afterDelay:0.01]; 

     return userAnnotationView; 
    } 

Gracias por cualquier consejo. Cheers, Christian

Respuesta

6

OK, así que terminé borrando la notificación personalizada pero agregué una llamada que aparece automáticamente. De esta manera:

mapView.showsUserLocation=TRUE; 
mapView.userLocation.title = NSLocalizedString (@"Here am I",@"Here am I"); 
[self performSelector:@selector(openCallout:) withObject:mapView.userLocation afterDelay:3.0]; 

y:

- (void)openCallout:(id<MKAnnotation>)annotation { 
[mapView selectAnnotation:annotation animated:YES];} 

Sin el retraso de la llamada de salida no se mostrará.

+0

Ha buscado 4h para esto, ty! – SaifDeen

Cuestiones relacionadas