MKMapView Маршрут / Направления

Я обнаружил, что API Карт Google поддерживает маршруты через:

var map;
var directionsPanel;
var directions;

function initialize() {
  map = new GMap2(document.getElementById("map_canvas"));
  directionsPanel = document.getElementById("my_textual_div");
  map.setCenter(new GLatLng(49.496675,-102.65625), 3);
  directions = new GDirections(map, directionsPanel);
  directions.load("from: 500 Memorial Drive, Cambridge, MA to: 4 Yawkey Way, Boston, MA 02215 (Fenway Park)");
}

Итак, как это можно перевести в Objective-C, чтобы его можно было получить на iPhone? Я знаю, как нарисовать линию в MKMapView. Мне просто нужны геолокации для маршрута.

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

Пожалуйста, дай мне знать,

Заранее спасибо.


person Mark    schedule 29.09.2009    source источник


Ответы (2)


Здесь упоминается и публикуется недокументированный API Google Maps Directions, здесь

Также вам следует взглянуть на образец приложения IPhone, которое рисует маршруты / направления на MKMapView с использованием упомянутого выше API здесь

Но предупреждаем вас о проблемах с лицензированием недокументированного API Google Maps Directions.

Надеюсь это поможет.

person coffeemate    schedule 31.05.2010
comment
- УВЕДОМЛЕНИЕ - Вы можете найти образец проекта на github https://github.com/kadirpekel/MapWithRoutes - person coffeemate; 30.06.2011
comment
ссылки на обоих здесь не работают, когда я щелкнул раньше, чем за минуту, пока писал этот комментарий. Пожалуйста, проверьте, работают они или нет, и обновите их .. потому что я действительно из них ... - person Nayan; 12.10.2012
comment
с использованием карт Google APi работает только при использовании карт Google, это уже не кажется надежным методом, поскольку iOS 5 не позволяет этого, нужны более эффективные методы. Пожалуйста, опубликуйте, если кто-нибудь найдет. - person DD_; 26.11.2012

Первоначально я собирался сказать (и я уверен, что другие поднимут этот вопрос), что в условиях использования Google Maps указано, что вы не можете использовать маршруты, если планируете использовать MapKit. Но затем я дважды проверил http://code.google.com/apis/maps/terms/iPhone.html и не смог найти явного ограничения. Если я правильно понимаю, он на самом деле говорит, что вы не можете использовать маршруты, пока он привязан к управляемой GPS функции от поворота к повороту в реальном времени. Вы должны сами судить, нормально это или нет, и повлияет ли это на ваши шансы быть принятым в AppStore.

Что касается получения фактических данных в Objective-C, лучше всего обратиться к документации по поиску Google Ajax [http://code.google.com/apis/ajaxsearch/documentation/], особенно в разделе Flash и других средах, отличных от Javascript. Здесь объясняется RESTful API, в котором вы можете отправлять HTTP-запросы GET в Google и получать данные JSON обратно. Я нашел единственный способ получить программные данные из Google, не привязанные к Javascript.

Как только вы определили правильный URL для вызова, вы можете обернуть все это в вызов ASIHTTPRequest и передать результат в синтаксический анализатор JSON. Следует иметь в виду, что RESTful API возвращает только несколько результатов (от 4 до 8) за раз, и вам придется возвращаться, пока не получите все данные. Также кажется, что количество результатов, возвращаемых API, ограничено 64 элементами, поэтому это может повлиять на некоторые сложные пограничные случаи.

person Ramin    schedule 29.09.2009
comment
Мне кажется странным, что они поддерживают почти все, кроме направлений. Ну что ж, думаю, мне лучше использовать прямую версию приложения Google Maps. - person Mark; 30.09.2009