Мы работаем над проектом по добавлению данных векторных карт из OSM и NAVTEQ в приложение GPS для iOS.
В настоящее время приложение отображает растровые изображения карты и предоставляет функции навигации по движущейся карте. Теперь мы хотим сделать еще один шаг вперед за счет интеграции векторных карт, но не знаем, с чего начать.
Было бы здорово получить рекомендации от разработчиков, имеющих опыт работы с GPS-навигацией.
Вот краткое изложение требований:
Целевые устройства:
IOS. C ++ предпочтительнее для ядра для будущей совместимости с другими платформами.
Интеграция данных и упаковка:
Источник данных карты:
- NAVTEQ
- OpenStreetMap
Формат файла:
- Идеально подходит для мобильных устройств с учетом ограничений устройства.
- Либо найдите уже установленный формат, либо создайте его в доме.
Компиляция:
- Определить формат для исходных данных (Shp, MapInfo и т. Д.)
- Скомпилируйте исходный формат в требуемый формат.
Движок рендеринга карты:
Отображение карт:
- Вид векторной карты будет отделен от текущего вида растровой карты.
- Отображение данных в линии, точки, многоугольники и т. Д. В режиме реального времени. Плиточный или предварительно обработанный не допускается.
- 2D вид птичьего полета. (3D планируется для будущих версий).
- Рельеф тени, чтобы проиллюстрировать высоту.
- Отображение пользовательских данных, таких как маршруты, журналы, путевые точки.
- масштаб, например, 500 метров.
- Быстрая производительность важна для обеспечения лучшего пользовательского опыта.
- Хорошие примеры - приложение Tom Tom для iOS.
Карта Взаимодействия:
- Панорамирование, масштабирование, поворот.
- Используйте функцию мультитач.
Поиск
- Адрес, местонахождение, POI (Geo Coding)
- Адрес из местоположения (обратное геокодирование)
Таблицы стилей
- Легко настроить внешний вид отображаемой карты.
- Каждый элемент может быть cusomised.
Мы хотели бы узнать, с чего начать наше исследование. Какие библиотеки и SDK существуют, на которые стоит потратить время на изучение?