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

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

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

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

Хотелось бы покататься, взять трубку где-нибудь в лесу и посмотреть на карте, где я нахожусь. Пока работает только с подключением к интернету, а без него у меня крупномасштабная карта и после увеличения пустое место или иконка "загрузки".

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

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

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

Просто уточню: вы хотите использовать офлайн-карты, но не хотите хранить их заранее? Как это должно работать?
@Izzy, я хочу сохранить их заранее, но одним действием, а не ручным сканированием карты в режиме онлайн, см за см, просто для создания кеша в данном приложении. Я понятно объяснил разницу?
osmand maps (кто мне об этом сказал?!) Его Offline карты fwiw
@ t0mm13b, osmand — это приложение, а не карта. И я ищу способ перевести онлайн-карты в офлайн-карты.
Как бы то ни было, TomTom выйдет на Android в октябре .
@AlEverett, спасибо, но с тех пор, как я задал этот вопрос, я полностью увлекся картами OSM, отслеживанием и редактированием карт (это очень забавная часть). OsmAnd и OsmTracker почти идеальная пара.
См. мой ответ на этот вопрос о TrekBuddy. Я использую его с MOBAC, как ответил в этом вопросе.

Ответы (5)

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

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

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

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

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

Большое спасибо, я уже немного поигрался с данными OSM, скачал карты, они действительно офлайновые, и сегодня это спасло мой скин (потому что GM удалил "кеш" при обновлении). Надеюсь, мне удастся поддержать и это приложение.
Пока я наткнулся на эту ветку, хорошим дополнением к OsmAnd является OsmTracker — ИМХО, он намного лучше, чем плагин трекера для OsmAnd. Можно аннотировать дорожку на лету, а после того, как она закончила езду/прогулку, напрямую загрузить трассу в OSM для дальнейшего редактирования, например.
В OpenStreetMap также есть хорошая вики для сравнения .
действительно отличное приложение

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

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

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

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


Ссылки

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

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

Это идеальное решение...
Действительно отличный ответ, я оставлю вопрос открытым на некоторое время, потому что я действительно хотел бы использовать упомянутые приложения, а также я боюсь истечения срока действия таких карт. Смотрите здесь: android.stackexchange.com/questions/13641/…
Не совсем идеальное решение: имейте в виду, что даже если вы загрузили карты, поиск адреса улицы работать не будет. (Не говоря уже о направлениях...)
Мои опасения были оправданы — GM либо находится в очень альфа-стадии, либо намеренно рассматривает офлайн-карты как кеш. Так или иначе, после обновления я обнаружил (когда уже был где-то на трассе), что мои карты GM пусты, и я теряюсь в пустоте. К счастью, у меня также установлен OsmAnd с действительно автономными картами.
@macias Лично я использую Navfree для автономной навигации, у меня весь мир на телефоне и мне не нужно подключение к интернету :)
Мне не нравится gmap, так как он слишком много передает в Интернете (например, для сохранения POI) ... OsmAnd имеет много функций (все в автономном режиме), а размер приложения меньше, чем у gmap ..

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

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

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

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

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

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

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

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

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

Возвращаясь к инструкциям и приложениям, я все еще новичок в 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.

OruxКарты

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

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

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

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

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

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

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

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

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

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

Да, HERE Maps гораздо проще использовать для этой цели. Просто загрузите приложение из магазина Play, а затем вы сможете загрузить офлайн-карты для любого штата или страны мира.

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