Я провел почти весь день в поисках приличных приложений для карт (приличное = бесплатное, актуальное, наличие открытого исходного кода — это плюс).
Я остановился на TrekBuddy, GoPenS , RMaps , Maverick, OruxMaps (на мой взгляд, лучше всего смотрятся выделенные).
Однако теперь у меня есть другая проблема — как подготовить карты для этих приложений (помогите мне с одним, и, надеюсь, я справлюсь с остальными) для использования в автономном режиме?
Хотелось бы покататься, взять трубку где-нибудь в лесу и посмотреть на карте, где я нахожусь. Пока работает только с подключением к интернету, а без него у меня крупномасштабная карта и после увеличения пустое место или иконка "загрузки".
Вкратце -- ВОПРОС -- как накормить телефон/приложения картами, чтобы я мог свободно увеличивать/уменьшать карту, когда я нахожусь в дикой природе (офлайн)?
Я хотел бы избежать трюков, таких как использование кэширования, поэтому «решение» сканирования интересующей области во всех возможных масштабах и в этом случае получение оффлайн-версии карты не годится!
Уточнение: я не ищу другое приложение (впрочем, спасибо за подсказки/ссылки), я ищу карты (данные). Я хочу получить карту из онлайн-версии (которая загружается автоматически) в офлайн-версию.
OsmAnd (в магазине Play или F-droid.org (версия иногда немного отстает)) имеет следующие функции:
Оффлайн векторные карты:
Неограниченное приложение (в Google Play) стоит небольшую плату (около 3 евро) для финансирования проекта. Пожалуйста, подумайте о покупке его после того, как вы протестировали бесплатную версию и она вам понравилась, и не просто качайте ночную версию, если вы не хотите просто протестировать новейшие функции. Конечно, вы также можете создать свой собственный (его FOSS).
С 27 июня 2012 года Google Карты для Android недоступны в автономном режиме.
Они обеспечивают кеш карты в радиусе 10 миль, а поскольку вы можете указать разные места и кэшировать их, вы можете виртуально кэшировать весь мир.
Повторите этот процесс столько раз, сколько вы хотите кэшировать все нужные области.
Более подробные пошаговые инструкции: Как использовать автономную функцию Google Maps в Android .
Официальная страница поддержки Google для автономных карт здесь .
Используйте векторные карты вместо предварительной загрузки или кэширования визуализированных листов карты.
Векторные карты в сравнении с растровыми, предварительно визуализированными и мозаичными картами
Вот в чем разница: кэширование 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
Переключитесь на новую карту:
Обратите внимание, что в OruxMaps вы можете перемещаться по подпапкам. Так что, если хотите, вы можете использовать свой файловый менеджер для организации карт в подпапках. Подсказка: вы можете полностью скопировать данные mapsforge в папку с картами OruxMaps и больше не беспокоиться :-)
Также обратите внимание, что если у вас открыто приложение OruxMaps, когда вы копируете новые файлы карт в его папку данных, вам, возможно, придется щелкнуть «сбросить источники карт» в диалоговом окне «новая карта», чтобы убедиться, что оно пересчитывает папку карты для новых файлы.
Вот руководство по этим двум приложениям для оформления ваших карт . Как упоминалось ранее, в зависимости от приложения вы можете влиять на способ отображения векторных карт. Это включает в себя настройки цвета, а также то, какие данные должны быть включены в отображение, а какие нет.
Благодаря вашему разъяснению я предполагаю, что это нормально, когда вы можете получать данные карты из приложения. В этом случае я бы посоветовал вам взглянуть на Locus Maps , это отличное решение. В него уже встроено множество источников карт, и если вам этого недостаточно, аддон Map Tweak предлагает дополнительные источники.
Дополнительные ресурсы на Locus Maps включают:
Я мог бы назвать еще больше ресурсов -- и назову, если хотите.
Да, HERE Maps гораздо проще использовать для этой цели. Просто загрузите приложение из магазина Play, а затем вы сможете загрузить офлайн-карты для любого штата или страны мира.
Иззи
Гринолдман
т0мм13б
Гринолдман
эль
Гринолдман
Нараянан