Благодаря файлу настроек конфигурации glcfg.xml
- Код: Выделить всё
E:View/RangerMap/glcfg.xml
можно бесплатно добавить большинство тайловых сервисов.
По сути он являеться подобием ZMP-файла.
Как пример рассмотрим создание источника карты на базе слоя рельеф тайл-сервиса Maps-for-Free
Структура запроса:
- Код: Выделить всё
http://www.maps-for-free.com/layer/[layer name]/z[Z]/row[Y]/[Z]_[X]-[Y].<EXT>
layer name – имя слоя, входит в запрос как часть шаблона.
EXT – это расширение запрашиваемого файла, которое задается в описателе (JPG или PNG).
Z - зум карты
X и Y - соответственные координаты тайла
Пример запроса для плитки Z = 5, X = 17, Y = 12 сформируется так:
http://www.maps-for-free.com/layer/reli ... _17-12.jpg
ВНИМАНИЕ! Сделайте резервные копии файлов описанных ниже и существующего кэша карт!
ПРЕДУПРЕДИЛ...Теперь начнем!
Для этого редактируем в текстовом редакторе файл конфигурации (кодировка UTF-8):
- Код: Выделить всё
E:/ViewRanger/Config/glcfg.xml
Дальше структура файла конфигурации:
- Код: Выделить всё
# заголовок файла конфигурации
<?xml version="1.0" encoding="UTF-8"?>
# начало описания источников карт
<maps>
# заголовок группы карт
<map name="Online Maps" symCountryCode="0">
# строка-заголовок слоя карты (в одном группе может быть несколько слоев)
<layer name="Open Street Map (MapQuest, saveable)" tileSize="256" layerID="668" type="JPG" desc="Free online maps." minLayer="3" maxLayer="18" URL="http://otile1.mqcdn.com/tiles/1.0.0/map/%VRZ/%VRI/%VRJ.jpg" maxPreCacheTiles="10000" maxPreCacheZoom="16" avTileSizeBytes="8000">
# граничные размеры площади охвата (здесь указано всю планету)
<bounds west="-1509949440" east="1509949440" south="-1509949440" north="1509949440"/>
<preview>http://www.viewranger.com/preview/OSM§Map§Quest.jpg</preview>
# лицензия на тайлы данного слоя
<copyright>�� OpenStreetMap contributors. <a href="www.openstreetmap.org/copyright">License.</a>Tiles Courtesy of <a href="http://www.mapquest.com">MapQuest</a>.</copyright>
<presetPreCacheList>
<presetPreCache name="Street" zoomMin="13" zoomMax="16" maxTilesAtMin="120"/>
<presetPreCache name="Regional" zoomMin="10" zoomMax="12" maxTilesAtMin="450"/>
</presetPreCacheList>
# конец описания слоя
</layer>
# конец описания группы карт
</map>
# конец описания источников карт
</maps>
# конец файла конфигурации
ТЕПЕРЬ ВНИМАТЕЛЬНО РАЗБЕРЕМ КАЖДУЮ СТРОКУ
Так как файл базируется на XML, то первая строка нужна для инициализации. Все тэги должны быть закрытыми!
maps - тэг внутри которого и расположены все характеристики источников карт, обьединённые в группы, которых может быть сколько угодно.
map - тег группы карт имеет два параметра:
map name="Название группы" - собственно название (допускаются многословные с пробелами)
symCountryCode="0" - код страны в которой слои карт с этой группы будут доступны в меню (0-любая страна, 1-Великобритания, 16-Россия и т.д.), в зависимости от системного языка смартфона. Всегда используйте 0 чтобы не было сбоев.
Внутри группы расположены слои карт и их может быть неограниченное число!
layer - тэг слоя карты отвечает за то откуда будет браться карта, как отображаться, и как будет сохранятся, имеет параметры:
name="Имя слоя" - имя слоя в меню
tileSize="256" - размер тайла в пикселях (в основном 256 или 350).
layerID="668" - имя папки в которой будет храниться кэш данного слоя (действует независимо от группы и повторений не должно быть)
type="JPG" - тип тайлов (в основном PNG или JPG)
desc="Free online maps." - описание которое видно в меню под названием данного слоя
minLayer="3" - минимальный зум на котором отображается данный слой.
maxLayer="18" - максимальный зум отображения.
URL="http://otile1.mqcdn.com/tiles/1.0.0/map/%VRZ/%VRI/%VRJ.jpg" - адрес к тайлам на сервере
maxPreCacheTiles="10000" - максимальное количество кэшируемых тайлов.
maxPreCacheZoom="16" - максимальный зум для сохранения тайлов, а тайлы крупнее будут только просматриваться, но не сохраняться в кеш.
avTileSizeBytes="8000" - средний размер тайлов в байтах (как-то влияет на ход загрузки "пустых" тайлов).
bounds - тег границ отображения карты данного слоя (в координатах UTM), параметры:
west="-1509949440" - западная east="1509949440" - восточная south="-1509949440" - южная north="1509949440" - северная
preview - тег со ссылкой на картинку отображаемую для предпросмотра данного слоя.
copyright - тег с лицензией на тайлы данного слоя (может вмещать в себе ссылку на лицензию в интернете, в меню есть пункт о лицензировании для активированного источника карт)
presetPreCacheList - список предустановок для кэширования тайлов данного слоя.
presetPreCache - предустановка кэширования тайлов данного слоя, параметры
name="Regional" - название
zoomMin="10" - минимальный зум кэшировани
zoomMax="12" - максимальный зум кэширования
maxTilesAtMin="450" - максимальное количетво тайлов для кэширования при zoomMin
ОЧЕНЬ ВАЖНО!
При формировании строки-шаблона запроса необходимо указать места подстановки параметров изображения в виде полей подстановки %VRI, %VRJ, %VRZ для X, Y, Z соответственно.
КЭШ ТАЙЛОВ
Структура кэша карт на Symbian:
- Код: Выделить всё
E:/ViewRanger/MapCache/_PAlbTN/[layerID]/[z]/[x]/[y]
Пример:
E:/ViewRanger/MapCache/_PAlbTN/999/11/1211/700
Здесь файл 700 это тайл в формате JPG 256x256 точек без буквенного разширения ".jpg".
НУ ВОТ И МИНИМАЛЬНЫЙ "ZMP" ДЛЯ ViewRanger ГОТОВ!
- Код: Выделить всё
<?xml version="1.0" encoding="UTF-8"?>
<maps>
<map name="sas_team-sas.maps.zip" symCountryCode="0">
<layer name="Maps-for-Free (relief, saveable)" tileSize="256" layerID="999" type="JPG" desc="Good relief maps" minLayer="3" maxLayer="15" URL="http://www.maps-for-free.com/layer/relief/z%VRZ/row%VRJ/%VRZ_%VRI-%VRJ.jpg" maxPreCacheTiles="10000" maxPreCacheZoom="16" avTileSizeBytes="16000">
<bounds west="-1509949440" east="1509949440" south="-1509949440" north="1509949440"/>
<preview>http://www.viewranger.com/preview/OSM§Map§Quest.jpg</preview>
<copyright>they say that is for free</copyright>
</layer>
</map>
</maps>
P.S.:
Собственные форматы файлов:
.VRH - карта высот (по типу DEM)
.VRM - POI
.VRC - карта одним файлом
.VRG - индексный каталог, с возможностью поиска