Я изучаю решение, которое позволит использовать данные OpenStreetMap для рендеринга векторной карты 2D-вида в iOS вместо использования pre- отображаемые фрагменты с сервера. Подобно Apple и Google Maps в iOS6 +.Средство визуализации OSM в реальном времени в iOS (с использованием OpenGL ES)
Я провел обширные исследования по этому вопросу, но не нашел слишком много информации.
Существует множество приложений для 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 для рисования этих данных на устройстве. Может быть, некоторые из людей, которые это сделали, могут поделиться несколькими вещами?
Эй @ Калин, мне было интересно, какое решение вы выбрали? Я все еще на стадии исследования, но я немного смущен. – manar
@manar Я не мог найти ни одного хорошего решения в плане реализации. Что касается конечного результата, то приложение ForeverMap 2 ближе всего к тому, что мне нужно, главным образом потому, что оно имеет полностью векторный движок рендеринга, такой как Google или Apple Maps. Учитывая все это, я думаю, что мой лучший снимок - написать механизм рендеринга с нуля, используя технологии Apple. Пока это выглядит сложной задачей, и любая помощь по-прежнему высоко ценится. Я надеюсь, что в конце концов этот вопрос получит полезные ответы, чтобы сделать вещи немного проще. – Calin
спасибо за ваш ответ, вы должны взглянуть на Mapnik, это не проприетарно;) но реализация кажется сложной. – manar