getDistanceFrom
ahora está en desuso, así que aquí hay una respuesta alternativa para cualquiera que quiera hacer esto.
CLLocationCoordinate2D pointACoordinate = [pointAAnnotation coordinate];
CLLocation *pointALocation = [[CLLocation alloc] initWithLatitude:pointACoordinate.latitude longitude:pointACoordinate.longitude];
CLLocationCoordinate2D pointBCoordinate = [pointBAnnotation coordinate];
CLLocation *pointBLocation = [[CLLocation alloc] initWithLatitude:pointBCoordinate.latitude longitude:pointBCoordinate.longitude];
float distanceMeters = [pointALocation distanceFromLocation:pointBLocation];
float distanceMiles = (distanceMeters/1609.344);
[pointALocation release];
[pointBLocation release];
Como el anterior, se puede utilizar en lugar de float
double
y se podía emitir los resultados a un int si no se requiere la precisión de la float
así:
int distanceCastToInt = (int) [pointALocation distanceFromLocation:pointBLocation];
El int
es útil si se quería dar una idea aproximada de la distancia en la anotación de este modo:
pointAAnnotation.title = @"Point A";
pointAAnnotation.subtitle = [NSString stringWithFormat: @"Distance: %im",distanceCastToInt];
el subtítulo de t La anotación decía "Distancia: 50 m" por ejemplo.
¿Puede explicar su pregunta más, por lo que podemos entender los requisitos exactos? –
He editado la pregunta. Hágame saber si necesita más información. – user230949