Как получить карты для автономного использования?

15

Я провел почти весь день в поисках достойных приложений для карт (приличный = бесплатный, актуальный, плюс открытый исходный код).

Я закончил с TrekBuddy, GoPenS , RMaps , Maverick, OruxMaps (выделенные из них выглядят лучше всего, на мой взгляд).

Однако теперь у меня есть другая проблема - как подготовить карты для этих приложений (пожалуйста, помогите мне с одним, и, надеюсь, я справлюсь с остальными) для автономного использования?

Я хотел бы покататься, взять трубку где-нибудь в лесу и посмотреть на карте, где я нахожусь. На данный момент он работает только с подключением к Интернету, но без него у меня есть карта огромного масштаба и после увеличения пустое пространство или значок «загрузка».

Вкратце - ВОПРОС - как кормить телефон / приложения картами, чтобы я мог свободно увеличивать / уменьшать карту, когда я нахожусь в дикой природе (в автономном режиме)?

Я бы хотел избежать трюков, таких как использование кэширования, поэтому «решение» сканировать интересующий регион со всеми возможными масштабами и в этом случае получить автономную версию карты не требуется!

Уточнение: я не ищу другое приложение (однако спасибо за подсказки / ссылки), я ищу карты (данные). Я хочу получить карту из онлайн-версии (которая автоматически загружается) в автономную версию.

greenoldman
источник
1
Просто чтобы уточнить: вы хотите использовать офлайн-карты, но не хотите хранить их заранее? Как это будет работать?
Иззи
@ Иззи, я хочу сохранить их заранее, но одним действием, а не сканированием карты вручную, см за см, просто чтобы создать кеш в данном приложении. Я ясно объяснил разницу?
Гринольдман
osmand maps (кто мне это сказал ?!) Оффлайн-карты fwiw
t0mm13b
@ t0mm13b, osmand - это приложение, а не карта. И я ищу способ перевода онлайн-карт в автономные.
Гринольдман
Что бы ни стоило, TomTom выйдет на Android в октябре .
эль

Ответы:

14

OsmAndмагазине Play или F-droid.org (версия иногда немного отстает)) имеет следующие особенности:

  • Полностью с открытым исходным кодом
  • Полностью автономный режим (с возможностью некоторых онлайн-функций)
  • Play Store: ограничено до 16 загрузок (бесплатно) или по цене ~ 6EUR (для финансирования)
    (создайте его самостоятельно или используйте ночную сборку, если не хотите платить или используйте бесплатную версию)
  • Оффлайн векторные карты:

    • на основе данных Openstreetmap
    • создайте свой собственный с OsmandMapCreator
    • много готовых областей, доступных с загрузкой в ​​приложении
  • Онлайн-карты на основе плиток (плагин кэширования данных для GMaps / Bing / Yahoo / и 25 других)
  • Интеграция с OSM (отчет об ошибках, загрузка GPX, редактирование в реальном времени)
  • Голосовая навигация в автономном режиме
  • Отслеживание GPX

Безлимитное приложение (в Google Play) стоит небольшую плату (около 3EUR) для финансирования проекта. Пожалуйста, подумайте о том, чтобы купить его, как только вы протестировали бесплатную версию, и вам понравится, а не просто пиявка по ночам, если вы не хотите просто протестировать новейшие функции. Вы можете, конечно, также построить свой собственный (его FOSS).

загрузка в автономном режиме карты в приложении

CE4
источник
Большое спасибо, я уже немного поиграл с данными OSM, я скачал карты, они действительно автономные, и сегодня это спасло мой скин (потому что GM удалил «кеш» при обновлении). Я надеюсь, что мне удастся также поддержать это приложение.
Гринольдман
Хотя я наткнулся на эту тему, хорошим дополнением к OsmAnd является OsmTracker - ИМХО, это намного лучше, чем плагин трекера для OsmAnd. Можно аннотировать дорожку на лету, и после завершения катания / ходьбы можно напрямую загрузить ее в OSM, например, для дальнейшего редактирования.
Гринольдман
OpenStreetMap также имеет хорошее сравнение вики .
ce4
действительно отличное приложение
Франческо
11

С 27 июня 2012 года Карты Google для Android доступны в автономном режиме.

Они обеспечивают 10-мильный радиус кэширования карты, и, поскольку вы можете указывать на различные местоположения и кэшировать их, вы можете фактически кэшировать весь мир.

  1. Откройте приложение Google Maps;
  2. После загрузки карты нажмите кнопку меню и выберите «Настройки»;
  3. На панели «Настройки» выберите «labs» и включите опцию «Область карты Precache».
  4. Вернитесь к просмотру карты, перейдите к области, которую вы хотите сохранить для автономного использования;
  5. После загрузки щелкните на нем, чтобы открыть подробный вид, и выберите параметр «Область карты Precache».

Повторите этот процесс столько раз, сколько вы хотите кэшировать все нужные области.


связи

Более подробные пошаговые инструкции по адресу: Как использовать автономные функции Google Maps в Android .

Официальная страница поддержки Google для автономных карт здесь .

Zuul
источник
Это идеальное решение ...
Android Quesito
1
Отличный ответ, я буду держать вопрос открытым некоторое время, потому что я действительно хотел бы использовать упомянутые приложения, а также я боюсь истечения срока действия таких карт. Смотрите здесь: android.stackexchange.com/questions/13641/…
greenoldman
Не совсем идеальное решение: имейте в виду, что даже если вы загрузили карты, поиск адреса улицы не будет работать. (Не говоря уже о направлениях ...)
fdierre
Мой страх был действителен - GM либо находится в очень альфа-стадии, либо намеренно рассматривает автономные карты как кеш. Во всяком случае, после обновления я узнал (когда я уже был где-то на трассе), что мои карты GM пустые и я потерялся в пустоте. К счастью, у меня также установлен OsmAnd с действительно автономными картами.
Гринольдман
@macias Лично я использую Navfree для автономной навигации, у меня есть весь мир на моем телефоне и мне не нужно подключение к Интернету :)
Zuul
5

Используйте векторные карты вместо предварительной загрузки или кэширования отрисованных фрагментов карты.

Векторные карты против растровых, предварительно отрисованных, плиточных карт

Вот в чем разница: кэширование Google Maps или любых других предварительно отрендеренных карт хранит от десятков до тысяч плиток (растровых) изображений на вашем устройстве. Несмотря на то, что они сжаты, они занимают гигабайты памяти, особенно если вы собираетесь хранить карты для всей страны.

Кроме того, растровые изображения - это просто изображения. Картирование и особенно навигационные приложения не могут интерпретировать то, что отображается на изображении. Поэтому они не знают о ближайшей заправке, автобусной остановке, реке, на которой вы гуляете, и т. Д.

Векторная карта в каком-то специальном формате данных. Чтобы быть отображенным, он должен быть представлен, что означает, что изображение должно быть сначала вычислено из необработанных данных. Таким образом, самым большим недостатком является то, что приложения, использующие их, могут быть более ресурсоемкими. Однако, в зависимости от качества и функций векторной карты, а также от качества и возможностей приложения, вы можете запросить карту для навигации по машине, пешком, при загрузке, на велосипеде. Вы можете получить информацию о ближайших ресторанах или ближайший почтовый ящик.

Другим основным преимуществом векторных карт является его гораздо меньший размер по сравнению с растровыми данными. Хотя предварительно визуализированное изображение мозаичного изображения карты может содержать некоторые зеленоватые и изменяющиеся данные пикселей для представления лесистой области, которая линейно пропорциональна покрытой области, эта же векторная карта может просто сказать «лесная область» и сохранить координаты границы.

Таким образом, другое преимущество заключается в том, что приложение решает, как визуализировать указанную лесную область, и, таким образом, пользователь имеет некоторое влияние на то, как ему нравятся карты. Возможно, вы сможете указать вашему картографическому приложению переключиться на красную / синюю / черную цветовую схему ночью, не загружая второй набор растровых плиток. Он просто пересчитывается на лету при изменении некоторых настроек и не занимает никакой дополнительной памяти.

Объем хранилища и доступный набор функций ограничены данными, содержащимися в векторной карте. Таким образом, в зависимости от ваших потребностей и потребностей ваших приложений, некоторые могут захотеть иметь полностью открытые данные карты улиц, в то время как другие обходятся простым набором.

Кроме того, благодаря векторным картам и небольшому объему хранилища, а также возможности настраивать их рендеринг внутри приложений нет необходимости использовать какое-либо дополнительное приложение на рабочем столе для подготовки карт. Скачивайте файлы и начинайте. Хотя теоретически это работает, на практике исходные файлы данных проекта OpenStreetMap должны быть преобразованы в синтаксически другой формат. См. ниже.

Возвращаясь к Howtos и приложениям, я все еще начинающий на Android. Вот что я использую сегодня.

Open Street Map - проект, который предоставляет полнофункциональные векторные карты бесплатно. Как и в Википедии, данные карты могут быть улучшены пользователями, и это происходит постоянно.

Mapsforge Векторные карты

Предварительно собранные векторные карты открытых карт улиц можно найти в проекте mapsforge по адресу http://download.mapsforge.org/maps/.

Использование оригинальных файлов Open Street Map

Вышеуказанные файлы mapsforge могут использоваться как есть и, таким образом, являются наиболее удобным решением. Однако, если вы хотите начать с исходных файлов Open Street Map, вы можете следовать этому руководству, чтобы преобразовать исходные файлы из формата PBF в формат карты с помощью Osmosis . Типичный пример командной строки:

osmosis --read-pbf "hungary.osm.pbf" --mapfile-writer file="hungary.osm.map"

годограф

В качестве картографического приложения вы можете использовать Locus Free . Загрузить и установить.

Скачайте любой файл векторных карт и сохраните его на своем телефоне в папке /mnt/sdcard/Locus/MapsVector/_themes/. Лично я загружаю карты на свой настольный компьютер, храню их в папке, которой делюсь с помощью Samba в Linux, или делюсь ими на компьютере с Windows. Затем я использую любой файловый менеджер Android ( Ghost Commander с плагином Samba , ES File Explorer File Manager ) на своем телефоне, чтобы скопировать файлы из общего расположения в папку сопоставления Locus на устройстве Android.

OruxMaps

Вы также можете использовать приложение OruxMaps . К сожалению, я еще не нашел способ использовать оба приложения без необходимости дважды хранить данные карты. ( SD-карты не поддерживают символические ссылки . Если у вас есть данные во внутренней памяти, вы можете использовать их и хранить карты только один раз). Вы можете снова использовать предпочитаемый файловый менеджер на Android, чтобы скопировать *.mapфайлы из вышеупомянутой папки Locus в папку, где OruxMaps хранит свои файлы карт. По умолчанию это/mnt/sdcard/oruxmaps/mapfiles

Переключиться на новую карту:

  1. Нажмите верхнюю правую иконку "карта"
  2. Нажмите «Новая карта» во всплывающем меню.
  3. Нажмите «оффлайн» в правом верхнем углу
  4. Выберите любой из файлов карты * .map

Обратите внимание, что в OruxMaps вы можете перемещаться по подпапкам. Поэтому, если хотите, вы можете использовать свой файловый менеджер для организации карт в подпапках. Подсказка: вы можете полностью скопировать данные mapsforge в вашу папку карт OruxMaps и больше не беспокоиться :-)

Также обратите внимание, что если у вас открыто приложение OruxMaps, когда вы копируете новые файлы карт в его папку данных, вам, возможно, придется нажать «Сбросить источники карт» в диалоговом окне «Новая карта», чтобы убедиться, что оно перечитывает папку карты для новых файлы.

Вот инструкции по этим двум приложениям для создания карт ваших карт . Как упоминалось ранее, в зависимости от приложения вы можете влиять на способ отображения векторных карт. Это включает в себя настройки цвета, а также то, какие данные должны быть включены в дисплей, а какие нет.

CFI
источник
2

Благодаря вашим разъяснениям я предполагаю, что все в порядке, когда вы можете получить данные карты из приложения. В этом случае я бы посоветовал вам взглянуть на Locus Maps , который является отличным решением. В него уже встроено множество источников карт, и, если вам этого недостаточно, в аддоне настройки карты предлагаются дополнительные источники.

Дополнительные ресурсы на Locus Maps включают в себя:

Я мог бы назвать еще больше ресурсов - и сделаю, если хотите.

Иззи
источник
Спасибо за этот ответ, все, что вы написали, очень ценно, но я ищу способ перенести карты из онлайн в автономный режим, а не использовать другое приложение для карт - я ищу данные, а не программу ,
Гринольдман
3
Проблема здесь в том, совместимы ли данные с какой программой. Каждое приложение использует свой собственный стандарт, более или менее. Таким образом, данные, подходящие для одного, могут не подходить другому - хотя они могут использовать одни и те же источники, они могут различаться в том, как хранить материал. Замечательно, что в Locus вы можете создавать свои собственные KMZ, включая изображения (например, для POI и т. Д.), И многое другое. Но AFAIK есть также некоторые веб-сайты или программы для ПК, позволяющие вам подготовить картографические данные для Locus или OruxMaps. Что касается Locus, некоторые из них упоминаются / описываются на его форуме (последняя ссылка в моем ответе идет туда).
Иззи
Многие из них упоминают OpenStreetMap, но в опциях я вижу только кэширование, а не их загрузку.
Гринольдман
Что по сути одинаково (они загружаются в кеш). На самом деле, в Locus это называется «скачивание», и они хранятся в специальных базах данных. Вы даже можете ограничить использование Locus только этими загруженными картографическими данными - или разрешить ему проверять наличие обновлений для области, в которой вы находитесь в данный момент.
Иззи
0

Да, ЗДЕСЬ Карты проще использовать для этой цели. Просто скачайте приложение из магазина Play, а затем вы сможете скачать автономные карты для любого штата или страны в мире.

user44746
источник
Добро пожаловать в Android энтузиастов. Я заметил, что вы упомянули ЗДЕСЬ карты также в другом ответе. Вы просто счастливый пользователь или вы связаны с этим продуктом? Обратите внимание, что этот сайт требует от вас упоминания о какой-либо принадлежности.
THelper
нет, просто я
отвечаю
нет, ЗДЕСЬ карты не имеют всех стран: Япония и обе Кореи отсутствуют.
ccpizza