OSMAnd — одна из лучших программ для векторной навигации под Android и по моему единственная, которая умеет строить маршруты в оффлайн по картам OpenStreetMap. На фоне других программ, например Androzic, ее функционал для решения всяких задачек не особо богат, но это и нее предназначение. Главная ее задача с ориентировать вас на местности/дороге, показать карту и провести по маршруту.
Вот об аспекте использования карт и пойдет речь в этой статье
Карты в OASMAnd можно загружать двух видов — векторные и растровые
В качестве источника векторных карт используется сервис OpenStreetMap.org. Карты упакованы в собственный формат OBF и имеют такое же расширение. Бесплатная версия программы позволяет скачать прямо из программы всего 10 карт, но с сайта программы можно скачать и подложить программе столько, на сколько хватит вашей карточки 🙂
Эти карты отображаются по умолчанию и ничего включать не нужно.
В качестве растровых карт можно подключать онлайн сервисы, напирмер тот же самый Google или Yandex. Для этого в папке %OSMAND%/tiles/<ИТСТОЧНИК> нужно сделать файл .metainfo, где прописывается адрес источника с форматом тайлов.
[url_template] http://khms.google.com/kh/v=149&x={1}&y={2}&z={0} [ext] .jpg [min_zoom] 3 [max_zoom] 20 [tile_size] 256 [img_density] 8 [avg_img_size] 18000
Yandex
[url_template] http://sat01.maps.yandex.net/tiles?l=sat&x={1}&y={2}&z={0} [ext] .jpg [min_zoom] 3 [max_zoom] 20 [tile_size] 256 [img_density] 8 [avg_img_size] 18000 [ellipsoid] true
Файлы для других картографических сервисов легко составляются по этим двум шаблонам.
Но этот вариант хорош, если у вас есть сеть, чтобы скачать карту, но сеть есть далеко не всегда. Второй вариант подгрузить растровую карту — сделать ее кэш в формате SQLite. Помимо того, что это убережет ваш трафик, это также улучшит скорость доступа к карте, т.к. SD карты плохо работают с множеством мелких файлов коим и является кэш любой он-лайн карты.
Проще всего SQLITE кэш делается в программе SASPlanet. Просто выделите нужный участок карты, скачайте его и экспортируйте в формате RMaps(SQLite). На выходе получится один файл <ИМЯ>.slitedb, который нужно поместить в папку %OSMAND%/tiles/ он автоматически подключится и будет доступен в слоях под именем файла.
Чтобы стало возможно подключение растровых карт нужно обязательно включить плагин «Онлайн карты». Делается это через меню Настройки-Диспетчер плагинов-Онлайн карты. Кстати, там есть еще несколько полезных дополнений, который я бы включил.
После включения плагина можно идти на экран карты, и в меню появятся пункты Карта подложки и Карта покрытия. Ставим галочку на любой их этих пунктов и появится меню выбора карты, которую вы хотите поместить под или над векторной картой.
После выбора карты она подгружается на экран, а так же появляется бегунок, позволяющий настроить прозрачность слоя.
Теперь на экране есть векторная карта и одна или две растровых. При этом работает роутинг, ведение по маршруту и видны все POI.
20 Responses