Calcularea distanță de conducere în iPhone

voturi
3

Am nevoie pentru a găsi distanța de conducere între 2 locații. Nu am nevoie pentru a afișa direcțiile într-o hartă, trebuie doar pentru a calcula distanța, pe care am nevoie pentru a utiliza în cererea mea.

Are MapKit permite acest lucru? Există o alternativă care poate fi folosit?

Sunt capabil de a obține înainte geo-codare folosind CloudMade, dar nu pare a fi o opțiune pentru a obține distanța de conducere.

Aprecia orice ajutor.

Întrebat 21/01/2010 la 00:31
sursa de către utilizator
În alte limbi...                            


3 răspunsuri

voturi
3

CloudMade, de asemenea, oferă indicații de orientare de conducere. Dacă sunteți interesat doar de la distanță, pur și simplu ignorați instrucțiunile.

Un API-Call arată astfel:

http://navigation.cloudmade.com/YOUR-API-KEY-GOES-HERE/api/0.3/47.25976,9.58423,47.26117,9.59882/car/shortest.js

și JSON include

....
route_summary: {
total_distance: Distance in meters,...

Sursă

Publicat 21/01/2010 la 00:39
sursa de către utilizator

voturi
2

S-au găsit acest lucru în Grupuri Google, este că de ajutor?

http://groups.google.com/group/google-maps-api/msg/4dc2fad4f74e3314?pli=1

Publicat 05/05/2010 la 04:40
sursa de către utilizator

voturi
0

În aplicațiile mele am folosit MKDirections pentru a obține de conducere (mers pe jos), distanța între două locație.

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);
              }
          }

 }];

dacă vă aveți locație ca o adresă, astfel încât să puteți utiliza metoda de CLGeocoder, care va da latitudinea și longitudinea a adresei

- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;

Daca se compara cu un rezultat de conducere la distanță folosind MKDirections cu cel folosind Google Maps, veți vedea că acestea diferă. Am fost în căutare cu privire la această chestiune și a venit peste link - ul următor http://www.macworld.co.uk/review/reference-education/apple-maps-vs-google-maps-3464377/

Chiar dacă Apple au îmbunătățit serviciul lor hartă, ei încă mai recunosc în precizie la Google (OMI), cel puțin într-o întrebare în ceea ce privește distanța de conducere. Deci, dacă precizia nu este foarte importantă în cazul dumneavoastră, astfel încât să puteți urmări, împreună cu Apple. În caz contrar, aș recomanda verificarea API-ul Google.

Publicat 29/07/2017 la 11:20
sursa de către utilizator

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