E 'possibile utilizzare la MapKit nel SDK iPhone per calcolare la distanza di guida tra due indirizzi?
Utilizzare MapKit per calcolare la distanza di guida tra due indirizzi?
Con iOS7 si ottiene direzioni a pieno titolo ai API
Date un'occhiata a questo tutorial Tutorial .
Come sull'utilizzo del framework Core Location:
- (CLLocationDistance) getDistanceFrom: (const CLLocation *) posizione
Avrete bisogno di latitudine / longitudine per entrambi gli indirizzi.
Edit: disapprovato in iOS 3.2. Utilizzare il distanceFromLocation: invece il metodo.
No, ma se avete la longitudine / latitudine allora è abbastanza facile per calcolare la distanza. E 'la distanza matematica tra quei punti di corso. Non la distanza di guida oa piedi effettivo che si basa su un percorso vero e proprio.
Utilizzare MapKit per calcolare la distanza di guida tra due indirizzi - No, ma se avete la longitudine / latitudine allora è abbastanza facile per calcolare la distanza. E 'la distanza matematica tra questi punti.
Se si desidera ottenere la differenza tra le mappe di Apple e Google maps passare attraverso il blog: -
Nelle mie applicazioni ho usato MKDirections per ottenere la guida (a piedi) distanza tra due posizione.
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);
}
}
}];
se si dispone di posizione come un indirizzo, in modo da poter utilizzare il metodo di CLGeocoder, che vi darà latitudine e longitudine del tuo indirizzo
- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;
Se si confronta il risultato di guida a distanza utilizzando MKDirections con quella che utilizza Google Maps, si vedrà che differiscono. Ero alla ricerca riguardo a questa materia e sono imbattuto nel seguente link http://www.macworld.co.uk/review/reference-education/apple-maps-vs-google-maps-3464377/
Anche se Apple sono stati migliorare il loro servizio di mappe, che ancora concedere in precisione a Google (IMO), almeno in una domanda per quanto riguarda la distanza di guida. Quindi, se la precisione non è molto importante nel tuo caso, in modo da poter seguire con Apple. In caso contrario, mi sento di raccomandare il controllo di Google API.













