Подтвердить что ты не робот

Реализованный в реальном времени OSM-рендеринг в iOS (с использованием OpenGL ES)

Я рассматриваю решение, которое позволит использовать данные OpenStreetMap для рендеринга двумерной топографической векторной карты в iOS вместо использования предварительно отрисованных плит с сервера. Подобно Apple и Google Maps в iOS6 +.

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

Первые 2 приложения работают аналогично Apple и Google Maps. Карта рисуется в реальном времени всякий раз, когда изменяется масштаб.
Последний, похоже, использует несколько иной подход. Он отображает векторные данные при определенных уровнях масштабирования и создает плитки, которые затем используются как обычные плитки, загруженные с сервера плитки. Таким образом, механизм рендеринга действительно может быть источником плитки для библиотеки Route-Me, но вместо того, чтобы загружать фрагменты, он отображает их на лету.

Предпочтительным является первый метод.

[Q] Я думаю, что можно было бы переключаться между методами довольно легко, как только рендеринг OpenGL ES будет на месте. Я имею в виду, что вы могли бы использовать средство визуализации в качестве источника для Route-Me для создания плиток, или вы могли бы использовать его как ящик в режиме реального времени, похожий на игру. Я прав?

Самое близкое найденное решение - OpenStreetPad. Однако вместо OpenGL ES используется Core Graphics, поэтому рендеринг не ускоряется аппаратным.

Mapbox заявила, что они работают над векторными плитками, и они, вероятно, предоставят решение для iOS для рендеринга, однако он может использовать Mapnik, поэтому я не уверен, насколько это будет эффективно. И нет ETA с середины 2013 года.

[Q] Знаете ли вы о каких-либо других библиотеках, документах, руководствах, примерах или какой-либо другой полезной информации о том, как подойти к этому? В основном, как обрабатывать данные OSM и как использовать OpenGL ES/GLKit для рисования этих данных на устройстве. Может быть, некоторые из людей, которые это сделали, могут поделиться несколькими вещами?

4b9b3361

Ответ 2

Технология, которая приводила в действие skobbler ForeverMap 2 и их текущее приложение GPS Nav и Maps, теперь доступно с оплатой за использование. Посмотрите их платформу разработчика. Примечание. у них также есть свободный уровень, который можно использовать для разработки/запуска небольших приложений.

Они отображают карту с использованием OpenGL и "векторных плит данных". Эти фрагменты данных данных содержат информацию о геометрии дороги (так что вы можете иметь маршрутизацию), данные POI и другие функции карты. (например, граничные пределы).

Ответ 3

Существует список OSM-приложений для iOS. Он также включает несколько проектов с открытым исходным кодом, например Navit. Кажется, Navit отображает карту с помощью SDL/OpenGL. Для получения дополнительной информации см. Navit iOS wiki page.