2013-11-06 2 views
1

У меня есть проект, который ограничен работой с картами apple, corelocation и mapkit apple - сторонние интерфейсы не разрешены.привязка к дороге для карт Apple

Мне нужно отобразить вид карты, отображающий текущее местоположение пользователя (стандартная голубая точка), и одновременно поместить штырь на дорогу, ближайшую к текущему местоположению пользователя, - «привязку к дороге», которая является наилучшей оценкой пользовательской ближайшем месте.

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

Заранее благодарим вас за помощь!

ответ

1

Для привязки к дороге вам потребуется последовательность координат широты и долготы этой улицы. Обычно вы никогда не получаете эту информацию о векторе, потому что владелец этих векторных данных (TomTom и Nokia) этого не допускает.

Только OpenStreetMap Данные на основе данных бесплатны, и векторные данные доступны.

ios использует данные TomTom, а в качестве expecdted вы не получите координаты полилинии улицы.

2

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

Developer docs on CLLocationManager предлагают четыре режима от Apple 'деятельность':

  • Другое ~ неопределенные
  • Automotive ~ в автомобиль, грузовик, дорожное транспортное средство
  • Фитнес ~ связанные пешеход активность
  • ПрочееНавигация ~ Поезда, самолеты , Лодки

(без комментариев о неоднозначности между первым и четвёртым ... там немного более подробно в документации для разработчиков слишком, чем мои несколько слов резюме выше)

В основном вы установите CLActivityType в CLActivityTypeAutomotiveNavigation , и это будет делать разумные вещи, если вы находитесь в дорожном транспортном средстве. Из того, что я видел, это более агрессивно привязывается к автомобильным дорогам, хотя вы все еще ограничены верностью карт Apple.

Смежные вопросы