Можно ли использовать MapKit в iPhone SDK для расчета вождения расстояния между двумя адресами?
Используйте MapKit для расчета вождения расстояния между двумя адресами?
С iOS7 вы получите полные направления в пределах API
Посмотрите на этот учебник Учебник .
Как насчет использования рамок Core Location:
- (CLLocationDistance) getDistanceFrom: (Const CLLocation *) Расположение
Вы будете нуждаться в широту / долготу для обоих адресов.
Edit: Запрещены в прошивкой 3.2. Используйте distanceFromLocation: метод.
Нет, но если у вас есть долгота / широта, то это довольно легко вычислить расстояние. Это математическое расстояние между этими точками конечно. Не фактическое вождения или пешком расстояние, которое основано на фактическом маршруте.
Используйте MapKit для вычисления расстояния вождения между двумя адресами - Нет , но если у вас есть долгота / широта , то это довольно легко вычислить расстояние. Это математическое расстояние между этими точками.
Если вы хотите, чтобы получить разницу между картами компании Apple и Google карты идут через блог: -
В своих приложениях я использовал MKDirections, чтобы получить вождения (ходьба) расстояние между двумя места.
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);
}
}
}];
если у вас есть вам местоположение в качестве адреса, так что вы можете использовать метод CLGeocoder, который даст вам широту и долготу вашего адреса
- (void)geocodeAddressString:(NSString *)addressString completionHandler:(CLGeocodeCompletionHandler)completionHandler;
Если сравнить результат вождения расстояния , используя MKDirections с одной помощью Google Maps, вы увидите , что они отличаются. Я искал по этому вопросу и наткнулся на следующую ссылку http://www.macworld.co.uk/review/reference-education/apple-maps-vs-google-maps-3464377/
Несмотря на то, Apple, было улучшение их обслуживания карты, они по-прежнему уступают в точности в Google (IMO), по крайней мере, в вопросе о расстоянии вождения. Так что, если точность не очень важна в вашем случае, так что вы можете следовать вместе с Apple. В противном случае я бы рекомендовал проверить Google API.













