Как вы кодируете карту (похожую на MAPS.ME на игровом рынке) для Android и сколько времени занимает ее создание?

MAPS.ME (ранее MapsWithMe) не использует Google Maps, но вместо этого использует бесплатный проект Open Street Map (обычно известный как OSM):

OSM — более чем достойный конкурент Google и другим картографическим компаниям (Apple, как известно, подтвердила это, используя большое количество данных OSM, в рамках собственной альтернативы карт Google).

Хотя я не могу перечислить все много (* много *) структуры и ресурсы картография, я хотел бы предложить вам некоторые закуски, ниже. Вы должны быть в состоянии продолжить исследование (например, поиск в Google) для получения дополнительных картографических материалов для Android / Java.

  • Graphhopper ( https: //github.com/graphhopper/g … ) — это библиотека маршрутизации (навигации) Java / Android / mobile, использующая данные карты OSM (определенная функциональность может стоить). Он позволяет выполнять маршрутизацию на устройстве в автономном режиме, поэтому подключение к сети или серверу не требуется (см. Маршрутизатор с открытым исходным кодом (OSRM) для библиотеки маршрутизации C или для понимания веб-службы / сервера маршрутизации OSM).
  • Geofabrik ( http://download.geofabrik.de/ ) поддерживает полный и текущий набор предопределенных извлечений глобальной карты OSM (т.е. не требует / мало использует осмос) в нескольких форматах файлов. Формат файла PBF хорошо подходит для маломощных вычислений (см. Http: //wiki.openstreetmap.org/wi … ), если позволяет библиотека.
  • Leaflet — библиотека JavaScript с открытым исходным кодом для интерактивных карт — Leaflet может интерпретировать карты / тайлы, полученные из OSM *. Поскольку фреймворк Leaflet написан на JavaScript, он не являетсяразработкой для Android. Это будет иметь оба преимущества (напишите один раз для нескольких [мобильных] платформ — Google ‘Phonegap’ или ‘Ionic’) и возможные недостатки (общая производительность). Брошюра хорошо используется, поэтому должно быть много доступной помощи.
  • OpenLayers — Возможно, структура отображения Javascript де-факто, она старше и «больше», чем Leaflet, однако предполагается (в других местах), что Leaflet имеет преимущество в отношении немедленной простоты использования (то есть для начинающих). Еще раз, посмотрите Phonegap и т. Д. Для мобильной разработки на основе HTML5. Также см. Использование OSM / Openlayers с помощью простого примера OpenLayers *.

Кроме того, представляет интерес (по крайней мере для меня) идея «обратного геокодирования» (т.е. извлечения координат карты на основе реальных адресов). OSM предоставляет компонент онлайнового / размещенного сервера, Nominatim — OpenStreetMap Wiki , который можно использовать, но он мало пригоден для непосредственного использования, когда сеть недоступна (автономно). Во время моих поездок в [Google] я наткнулся на AReallyGoodName / OfflineReverseGeocode , который основан на Java и «делает то, что говорит по олову ™» — он использует извлечения из файла адреса / местоположения, которые можно связать с вашим приложением (я буду должен предположить, что это будет работать с Android).

Наконец, я не могу сказать, сколько времени потребуется для разработки такого, однако, вы, вероятно, могли бы получить половину приличного демо вместе, через несколько дней (скажем, 24 человеко-часа), используя некоторые ресурсы, которые я перечислил,

* https: //github.com/nrenner/osm-p …
* https: //github.com/nrenner/osm-p …

0

Ура! Вы первые нашли эту информацию, сделайте доброе дело, поделитесь ей в: