Utilisez MapKit pour calculer la distance d'entraînement entre deux adresses?

voix
5

Est-il possible d'utiliser le MapKit dans le sdk iphone pour calculer la distance d'entraînement entre deux adresses?

Créé 03/02/2010 à 18:19
source utilisateur
Dans d'autres langues...                            


5 réponses

voix
2

Avec iOS 7 , vous obtenez des directions complètes au sein de l'API

Jetez un oeil à ce tutoriel tutoriel .

Créé 24/10/2013 à 09:36
source utilisateur

voix
2

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.

Créé 16/03/2010 à 21:27
source utilisateur

voix
1

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.

Créé 03/02/2010 à 19:30
source utilisateur

voix
0

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

Plans d'Apple vs Google Maps

Créé 24/09/2019 à 09:20
source utilisateur

voix
0

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.

Créé 29/07/2017 à 11:11
source utilisateur

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