Используйте MapKit для расчета вождения расстояния между двумя адресами?

голоса
5

Можно ли использовать MapKit в iPhone SDK для расчета вождения расстояния между двумя адресами?

Задан 03/02/2010 в 18:19
источник пользователем
На других языках...                            


5 ответов

голоса
2

С iOS7 вы получите полные направления в пределах API

Посмотрите на этот учебник Учебник .

Ответил 24/10/2013 в 09:36
источник пользователем

голоса
2

Как насчет использования рамок Core Location:

  • (CLLocationDistance) getDistanceFrom: (Const CLLocation *) Расположение

Вы будете нуждаться в широту / долготу для обоих адресов.

Edit: Запрещены в прошивкой 3.2. Используйте distanceFromLocation: метод.

Ответил 16/03/2010 в 21:27
источник пользователем

голоса
1

Нет, но если у вас есть долгота / широта, то это довольно легко вычислить расстояние. Это математическое расстояние между этими точками конечно. Не фактическое вождения или пешком расстояние, которое основано на фактическом маршруте.

Ответил 03/02/2010 в 19:30
источник пользователем

голоса
0

Используйте MapKit для вычисления расстояния вождения между двумя адресами - Нет , но если у вас есть долгота / широта , то это довольно легко вычислить расстояние. Это математическое расстояние между этими точками.

Если вы хотите, чтобы получить разницу между картами компании Apple и Google карты идут через блог: -

Apple Maps против Google Maps

Ответил 24/09/2019 в 09:20
источник пользователем

голоса
0

В своих приложениях я использовал 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.

Ответил 29/07/2017 в 11:11
источник пользователем

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