Ist es möglich, die MapKit im iphone sdk zu verwenden, um Fahrstrecke zwischen zwei Adressen zu berechnen?
Verwenden MapKit zu fahrende Strecke zwischen zwei Adressen zu berechnen?
Mit iOS7 Sie erhalten volle Richtungen innerhalb der API
Werfen Sie einen Blick auf dieses Tutorial Tutorial .
Wie wäre es das Core Location-Framework:
- (CLLocationDistance) getDistanceFrom: (const CLLocation *) Standort
Hier finden Sie die Breiten- / Längengrade für beide Adressen benötigen.
Edit: Veraltete in iOS 3.2. Verwenden Sie die distanceFromLocation: Methode statt.
Nein, aber wenn Sie die Länge / Breite haben, dann ist es ziemlich einfach, um den Abstand zu berechnen. Es ist die mathematische Distanz zwischen diesen Punkten natürlich. Nicht die tatsächliche Fahren oder zu Fuß zu erreichen, die auf einer tatsächlichen Route basiert.
Verwenden Sie MapKit die Fahrstrecke zwischen zwei Adressen zu berechnen - Nein , aber wenn Sie die Länge / Breite haben , dann ist es ziemlich einfach , um den Abstand zu berechnen. Es ist die mathematische Distanz zwischen diesen Punkten.
Wenn Sie den Unterschied zwischen Apple Maps und Google Maps durch den Blog gehen zu bekommen: -
In meinen Anwendungen habe ich MKDirections fahren (zu Fuß) Abstand zwischen zwei Aufenthaltes.
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);
}
}
}];
wenn Sie Sie Standort als Adresse haben, so können Sie die Methode von CLGeocoder verwenden, die Sie von Ihrer Adresse Breite und Länge geben
- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;
Wenn Sie ein Auto erreichbar Ergebnis mit MKDirections mit dem man mit Google Maps vergleichen, werden Sie sehen , dass sie sich unterscheiden. Ich war auf der Suche in dieser Angelegenheit und kam über den folgenden Link http://www.macworld.co.uk/review/reference-education/apple-maps-vs-google-maps-3464377/
Auch wenn Apple-waren ihre Karten-Service zu verbessern, räumen sie noch in der Genauigkeit bei Google (IMO), zumindest in einer Frage in Bezug auf die Fahrzeit erreichbar. Also, wenn die Genauigkeit nicht sehr wichtig, in Ihrem Fall, so dass Sie zusammen mit Apple folgen können. Sonst würde ich Überprüfung Google API empfehlen.













