Utilizzare MapKit per calcolare la distanza di guida tra due indirizzi?

voti
5

E 'possibile utilizzare la MapKit nel SDK iPhone per calcolare la distanza di guida tra due indirizzi?

È pubblicato 03/02/2010 alle 18:19
fonte dall'utente
In altre lingue...                            


5 risposte

voti
2

Con iOS7 si ottiene direzioni a pieno titolo ai API

Date un'occhiata a questo tutorial Tutorial .

Risposto il 24/10/2013 a 09:36
fonte dall'utente

voti
2

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.

Risposto il 16/03/2010 a 21:27
fonte dall'utente

voti
1

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.

Risposto il 03/02/2010 a 19:30
fonte dall'utente

voti
0

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

Di Apple Maps vs Google Maps

Risposto il 24/09/2019 a 09:20
fonte dall'utente

voti
0

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.

Risposto il 29/07/2017 a 11:11
fonte dall'utente

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