Маршрут/направления MKMapView
Я обнаружил, что API Карт Google поддерживает Directions через:
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. Мне просто нужны геолокации для маршрута.
Или, возможно, существует другой способ получить маршрут между двумя точками геолокации.
Пожалуйста, дайте мне знать,
Спасибо заранее.
Ответы
Ответ 1
Существует недокументированный API Google Maps Directions и представлен здесь
Также вы должны взглянуть на пример приложения IPhone, который рисует маршруты/направления на MKMapView, используя вышеупомянутый API здесь
Но предупреждаю вас о проблемах с лицензированием о недокументированном API-интерфейсах Google Maps Directions.
Надеюсь, что это поможет.
Ответ 2
Я изначально собирался сказать (и я уверен, что другие его поднимут), что условия использования Google Maps говорят, что вы не можете использовать маршруты, если планируете использовать MapKit. Но затем я дважды проверил http://code.google.com/apis/maps/terms/iPhone.html и не смог найти явное ограничение. Если я это правильно понимаю, на самом деле он говорит, что вы не можете использовать направления, если они привязаны к функциям реального времени в режиме реального времени в режиме реального времени. Вы должны использовать свое собственное мнение относительно того, хорошо оно или нет, и влияет ли это на ваш шанс принять в AppStore.
Что касается получения фактических данных в Objective-C, лучше всего посмотреть на поисковую документацию Google Ajax [http://code.google.com/apis/ajaxsearch/documentation/] особенно раздел под Flash и другими средами, отличными от Javascript. Он объясняет API RESTful, в котором вы можете отправлять HTTP GET-запросы в Google и получать данные JSON. Это единственный способ найти программные данные из Google, которые не привязаны к Javascript.
После того, как вы выяснили правильный URL-адрес, вы можете обернуть все это в ASIHTTPRequest и подать результат на a JSON parser. Следует иметь в виду, что API RESTful возвращает только несколько результатов (от 4 до 8) за раз, и вам нужно продолжать возвращаться, пока не получите все данные. Кажется, что количество экземпляров, возвращаемых API, составляет 64 элемента, поэтому некоторые сложные краевые случаи могут быть затронуты.