Как найти маршрут между двумя локациями в iOS5 - PullRequest
2 голосов
/ 15 февраля 2012

Я знаю, что в более ранней версии это довольно сложно, есть ли какой-нибудь новый способ обойтись в ios 5. Что касается этого, я могу получить местоположения, используя базовые местоположения GEOCoder, но хотел провести маршрут между ними, также iOS 5 имеет возможностьпоказать альтернативные маршруты для одного пункта назначения из источника.Надеюсь, кто-нибудь поможет мне Примечание: Я использую комплект карт и расположение ядра, а не UIWebView с Google API.

Ответы [ 2 ]

12 голосов
/ 17 февраля 2012

Моя проблема: Нарисуйте маршрут между двумя конечными точками (отправителем и пунктом назначения).
Потребности в разработке: iOS 5 sdk (которая имеет для этого функции), Xcode 4.2.
Дизайн пользовательского интерфейса: В моем случае это очень простой дизайн. Два поля ввода текста и одна кнопка затем MKMapView.
Каркасы: Каркас комплекта карт и работа с базовым расположением
Этапы разработки:

Получить два местоположения ввода Здесь я использовал метод geocodeAddressString: completionHandler: класса Geo Coder (из Core Location Framework) для получения координат для данной строки местоположения (доступно в iOS5 ) Использовал объект аннотации MkPoint для создания аннотации для местоположений на карте Затем отправил запрос в Google API для получения Направление между двумя местоположениями По состоянию на Ответ Google API ( Доступно как в формате JSON, так и в формате XML). У вас будет объект Overview_polyline , который имеет массив координат местоположения. Но они были закодированы, вы должны использовать правильный модуль декодирования, чтобы получить широту и долготу. с помощью декодированных координат местоположения вы можете создавать линии поли, используя метод экземпляра MKPolyline. MKPolyline *polyLine = [MKPolyline polylineWithCoordinates:coordinates count:[overlayPoints count]]; [mapView addOverlay:polyLine]; Теперь ломаная линия была нарисована над картой, но она не будет видна В качестве последнего шага нам нужно переопределить viewForOverlay метод для отображения вида линии.
Надеюсь, это может помочь вам, ребята, если что-то, что вы не можете понять, дайте мне знать.
Ура,
Арун
1 голос
/ 15 февраля 2012

В iOS 5 SDK нет функции маршрутизации.

Таким образом, чтобы создать маршрут, вам необходимо проанализировать данные от поставщиков маршрутов, таких как API Карт Google или использовать SDK из CloudMade Maps . Затем вы используете MKPolyline для соединения проанализированных точек, чтобы показать маршрут в MKMapView.

Возможно, существуют проекты с открытым исходным кодом и маршрутами, попробуйте поискать на github.com .

...