Utilice MapKit para calcular la distancia de conducción entre dos direcciones?

votos
5

¿Es posible utilizar el MapKit en el SDK de iPhone para calcular la distancia de conducción entre dos direcciones?

Publicado el 03/02/2010 a las 18:19
fuente por usuario
En otros idiomas...                            


5 respuestas

votos
2

Con iOS7 que obtener instrucciones completas dentro de la API

Echar un vistazo a este tutorial Tutorial .

Respondida el 24/10/2013 a las 09:36
fuente por usuario

votos
2

¿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.

Respondida el 16/03/2010 a las 21:27
fuente por usuario

votos
1

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.

Respondida el 03/02/2010 a las 19:30
fuente por usuario

votos
0

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: -

Mapas de Apple vs Google Maps

Respondida el 24/09/2019 a las 09:20
fuente por usuario

votos
0

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.

Respondida el 29/07/2017 a las 08:11
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more