Tengo una ubicación de usuario (punto azul) y anotaciones en mapView
. Cuando se selecciona la anotación, configuro texto en distLabel
- "Distancia al punto% 4.0f m.". ¿Cómo puedo actualizar esa etiqueta de texto cuando el usuario se mueve?Cómo calcular la distancia desde la ubicación del usuario a la anotación cuando el usuario se mueve
didSelectAnnotationView:
- (void)mapView:(MKMapView *)mapView didSelectAnnotationView:(MKAnnotationView *)view
{
CLLocation *pinLocation =
[[CLLocation alloc] initWithLatitude:
[(MyAnnotation*)[view annotation] coordinate].latitude
longitude:
[(MyAnnotation*)[view annotation] coordinate].longitude];
CLLocation *userLocation =
[[CLLocation alloc] initWithLatitude:
self.mapView.userLocation.coordinate.latitude
longitude:
self.mapView.userLocation.coordinate.longitude];
CLLocationDistance distance = [pinLocation distanceFromLocation:userLocation];
[distLabel setText: [NSString stringWithFormat:@"Distance to point %4.0f m.",
distance]];
}
Sé que es una función didUpdateToLocation
, pero ¿cómo puedo usarlo con didSelectAnnotationView
?
- (void)locationManager:(CLLocationManager *)manager
didUpdateToLocation:(CLLocation *)newLocation
fromLocation:(CLLocation *)oldLocation
{
//Did update to location
}
Gran respuesta como siempre de usted! ¡Gracias! –