Este posibil să se utilizeze mapkit în SDK-ul iPhone pentru a calcula distanța de conducere între două adrese?
Utilizați mapkit pentru a calcula distanța de conducere între două adrese?
Cu iOS7 vă obține indicațiile de orientare în cadrul API
Aruncati o privire la acest tutorial Tutorial .
Cum despre utilizarea cadrului de bază Locul de amplasare:
- (CLLocationDistance) getDistanceFrom: (Const CLLocation *) Locul de amplasare
Vei avea nevoie de latitudine / longitudinile pentru ambele adrese.
Editare: Depreciată în iOS 3.2. Utilizați distanceFromLocation: metoda in loc.
Nu, dar dacă aveți longitudine / latitudine, atunci este destul de ușor pentru a calcula distanța. Este distanța matematică între aceste puncte desigur. Nu este de conducere sau de mers pe jos distanța reală pe care se bazează pe un traseu real.
Utilizați mapkit pentru a calcula distanța de conducere între două adrese - Nu , dar dacă aveți longitudine / latitudine , atunci este destul de ușor pentru a calcula distanța. Este distanța matematică între aceste puncte.
Dacă doriți să obțineți diferența dintre Apple Maps și Google Maps trec prin blog: -
Î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.













