Est-il possible d'utiliser le MapKit dans le sdk iphone pour calculer la distance d'entraînement entre deux adresses?
Utilisez MapKit pour calculer la distance d'entraînement entre deux adresses?
Avec iOS 7 , vous obtenez des directions complètes au sein de l'API
Jetez un oeil à ce tutoriel tutoriel .
Comment l'utilisation du cadre de base Localisation:
- (CLLocationDistance) getDistanceFrom: (const CLLocation *) Lieu
Vous aurez besoin de la latitude / longitudes pour les deux adresses.
Edit: Obsolète dans iOS 3.2. Utilisez le distanceFromLocation: méthode à la place.
Non, mais si vous avez la longitude / latitude alors il est assez facile de calculer la distance. Il est la distance mathématique entre ces points de cours. Pas la conduite réelle ou à distance de marche qui est basée sur une voie réelle.
Utilisez MapKit pour calculer la distance d'entraînement entre deux adresses - Non , mais si vous avez la longitude / latitude alors il est assez facile de calculer la distance. Il est la distance mathématique entre ces points.
Si vous voulez obtenir la différence entre les cartes Apple et Google Maps aller à travers le blog: -
Dans mes applications je MKDirections pour obtenir la conduite (marche) distance entre deux emplacement.
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 vous avez-vous lieu comme une adresse, vous pouvez donc utiliser la méthode de CLGeocoder, qui vous donnera la latitude et la longitude de votre adresse
- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;
Si vous comparez un résultat à distance de conduite en utilisant MKDirections avec une aide de Google Maps, vous verrez qu'ils diffèrent. Je cherchais à ce sujet et suis tombé sur le lien suivant http://www.macworld.co.uk/review/reference-education/apple-maps-vs-google-maps-3464377/
Même si Apple a été l'amélioration de leur service de carte, ils concèdent encore la précision de Google (OMI), au moins dans une question concernant la distance de conduite. Donc, si la précision est pas très important dans votre cas, vous pouvez suivre avec Apple. Sinon, je recommande de vérifier l'API Google.













