Как проложить маршрут между двумя адресами, используя новые карты iOS 6.0?

Я использую IOS 6.0 SDK, и я хотел бы маршрутизировать между двумя разными адресами (не широтой и долготой) с новыми картами iOS 6.0 от Apple. Я также хотел бы показать показания.

Как я могу это сделать?

Я занимался этим на прошлой неделе и не понял, как это сделать. Похоже, что вы можете указать пункт назначения, и вы можете отдать ему больше, чем просто координаты, но всегда предполагает, что ваша начальная позиция – это текущее местоположение. Это ограничение, когда вы планируете поездку, пока вы не находитесь в стартовом месте. (Но, возможно, я просто не вижу, как это делается, и я надеюсь, что кто-то может исправить меня, если это правда.)

Некоторое время назад я просмотрел параметры маршрутизации для iOS 6 и собрал результаты здесь …

Как бы вы обеспечивали маршрутизацию маршрутов между точками на карте? Какие недостающие части?

Вы по-прежнему не сможете открывать Apple Maps с точной маршрутизацией, которую вы хотите, но, возможно, вы можете нарисовать маршрут с помощью наложений и аннотаций на своем собственном экземпляре MKMapView. Это может быть лучшим, что вы можете сделать сейчас.

Ниже приведен код, который я использовал для маршрутизации в местоположение, и предоставить по крайней мере метку для адресата вместо того, чтобы оставить ее только для координат. Я обнаружил, что просто предоставление адресата ярлык с полной информацией о адресе не будет работать, поэтому я просто предоставляю это значение.

if (flag != DirectionsFlag_PublicTransit && itemClass && [itemClass respondsToSelector:@selector(openMapsWithItems:launchOptions:)]) { NSDictionary *address = @{ (NSString *)kABPersonAddressStreetKey : location.title }; MKPlacemark *destinationPlacemark = [[MKPlacemark alloc] initWithCoordinate:location.coordinate addressDictionary:address]; MKMapItem *destinationMapItem = [[MKMapItem alloc] initWithPlacemark:destinationPlacemark]; if (flag == DirectionsFlag_Driving) { [destinationMapItem openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeDriving}]; } else if (flag == DirectionsFlag_Walking) { [destinationMapItem openInMapsWithLaunchOptions:@{MKLaunchOptionsDirectionsModeKey:MKLaunchOptionsDirectionsModeWalking}]; } } 

Этот код специально не обрабатывает направления Public Transit, поскольку Apple Maps этого не делает. Вместо этого я открываю Google Maps с URL, который я использовал ранее, который теперь открывает Safari для этих направлений. Флаг – это значение перечисления вождения, ходьбы или общественного транспорта. Расположение – это модель, которая содержит различные детали, включая название и координаты.

  • Наложение изображений MonoTouch Mapkit
  • iOS MapKit Аннотации, не отображающие правильное местоположение
  • Авария iOS Mapkit при использовании selectannotation
  • Ошибка при NSRangeException не может удалить наблюдателя для "заголовка"
  • Отображение определенного региона с помощью MapKit
  • Как добавить две или более кнопки в annotationView: MKAnnotationView?
  • Приложение iOS не запрашивает разрешения на размещение
  • MKOverlayView для поворота
  • Как я могу сосредоточить карту на местоположении пользователя в быстром?
  • MKPointAnnotation - название шоу по умолчанию и анимированный?
  • Нарисуйте полилинию между двумя координатами в Xcode
  • Давайте будем гением компьютера.