¿Es posible utilizar el MapKit en el SDK de iPhone para calcular la distancia de conducción entre dos direcciones?
Utilice MapKit para calcular la distancia de conducción entre dos direcciones?
Con iOS7 que obtener instrucciones completas dentro de la API
Echar un vistazo a este tutorial Tutorial .
¿Y si uso el marco Core Location:
- (CLLocationDistance) getDistanceFrom: (const CLLocation *) ubicación
Tendrá que las latitudes / longitudes de las dos direcciones.
Editar: en desuso en iOS 3.2. Usar la distanceFromLocation: método en su lugar.
No, pero si usted tiene la longitud / latitud, entonces es bastante fácil de calcular la distancia. Es la distancia matemática entre esos puntos, por supuesto. No es la distancia en coche o caminando real que se basa en una ruta real.
Utilice MapKit para calcular la distancia de conducción entre dos direcciones - No, pero si usted tiene la longitud / latitud, entonces es bastante fácil de calcular la distancia. Es la distancia matemática entre esos puntos.
Si desea obtener la diferencia entre mapas de Apple y mapas de Google se someten a través del blog: -
En mis aplicaciones Solía MKDirections para obtener rutas (a pie) de distancia entre dos ubicación.
CLLocationCoordinate2D startCoordinates = YOUR_START_COORDINATES;
CLLocationCoordinate2D endCoordinates = YOUR_END_COORDINATES;
MKPlacemark *startPoint = [[MKPlacemark alloc] initWithCoordinate:startCoordinates];
MKPlacemark *endPoint = [[MKPlacemark alloc] initWithCoordinate:endCoordinates];
MKMapItem *startItem = [[MKMapItem alloc] initWithPlacemark:startPoint];
MKMapItem *endItem = [[MKMapItem alloc] initWithPlacemark:endPoint];
MKDirectionsRequest *request = [[MKDirectionsRequest alloc] init];
request.source = startItem;
request.destination = endItem;
request.transportType = MKDirectionsTransportTypeAutomobile; //here you can choose a transport type you need
MKDirections *direction = [[MKDirections alloc] initWithRequest:request];
[direction calculateDirectionsWithCompletionHandler:^(MKDirectionsResponse * _Nullable response, NSError * _Nullable error) {
if (response) {
for (MKRoute *route in response.routes) {
NSLog(@"Distance : %f", route.distance);
}
}
}];
Si usted tiene lugar como una dirección, por lo que puede utilizar el método de CLGeocoder, que le dará la latitud y longitud de su dirección
- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;
Si se compara el resultado distancia de conducción utilizando MKDirections con el uso de Google Maps, se verá que se diferencian. Estaba buscando en relación con este asunto y me encontré con el siguiente enlace http://www.macworld.co.uk/review/reference-education/apple-maps-vs-google-maps-3464377/
A pesar de que Apple ha sido la mejora de su servicio de mapas, que todavía reconocen en la precisión de Google (OMI), al menos en una pregunta con respecto a la distancia de conducción. Así que si la precisión no es muy importante en su caso, de modo que pueda seguir adelante con Apple. De lo contrario, recomendaría comprobar la API de Google.













