Источники карт
Примеры использования
GeoJSON
GeoJSON - это универсальный формат для обмена гео-информацией. Он простой и удобный
Импортируйте файл https://gurumaps.app/example/feature_collection.geojson чтобы увидеть на карте, леса, деревья и реки рядом с Барановичами. Вы можете импорировать любой свой файл GeoJSON.
GeoJSON + MapCSS
Вместе с файлом feature_collection.geojson из предыдущего шага импортируйте файл https://gurumaps.app/example/feature_collection.mapcss. Вот его содержимое:
node[natural=tree] {
icon-image: "poi_circle.svg";
icon-tint: red;
image-allow-overlap: true;
}
node[natural=tree][leaf_cycle=evergreen] {
icon-tint: green;
}
После импорта на карте останутся видны только деревья. Вечнозеленые будут отмечены зелеными кружками, а всех остальные деревья - красными.
Для любого geojson можно добавить свой стиль mapcss, чтобы настроить какие данные и как надо показывать.
Map Source (.ms) for vector data
Импортируйте файл http://gurumaps.app/example/vector_source1.ms. Вот его содержимое:
<?xml version="1.0" encoding="UTF-8"?>
<customMapSource overlay="true">
<name>GeoJSON from url</name>
<geojson url="https://gurumaps.app/example/feature_collection.geojson"/>
</customMapSource>
Он автоматически скачает данные по адресу https://gurumaps.app/example/feature_collection.geojson
после импорта.
Рассмотрим файл http://gurumaps.app/example/vector_source2.ms
<?xml version="1.0" encoding="UTF-8"?>
<customMapSource overlay="true">
<name>GeoJSON with autoupdate</name>
<geojson url="https://gurumaps.app/example/feature_collection.geojson" updateInterval="5"/>
<style url="https://gurumaps.app/example/feature_collection.mapcss"/>
</customMapSource>
Теги geojson
и style
могут содержать в себе аттрибуты url
c адресом к данными и updateInterval
с интервалом проверки обновлений в минутах, а так же данные или блок <![CDATA[ ]]>
с данными внутри. Например в http://gurumaps.app/example/vector_source3.ms.
<?xml version="1.0" encoding="UTF-8"?>
<customMapSource overlay="true">
<name>GeoJSON and Style embed in MS</name>
<minZoom>3</minZoom>
<maxZoom>9</maxZoom>
<geojson>
{
"type": "Feature",
"properties": {},
"geometry": {
"type":"MultiPolygon",
"coordinates": [[[ [0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0] ],
[ [2.0, 2.0], [ 8.0, 2.0], [ 8.0, 8.0], [2.0, 8.0] ]],
[[ [30.0,0.0], [40.0, 0.0], [40.0, 10.0], [30.0,10.0] ],
[ [32.0,2.0], [38.0, 2.0], [38.0, 8.0], [32.0, 8.0] ]]]}
}
</geojson>
<style>
area|z3-{fill-color: green; width:1pt; color:red;}
line{width:1pt; color:yellow;}
</style>
</customMapSource>
Данные GeoJSON и стиль содержатся внутри файла .ms и не зависит от внешних источников.
Raster map (.sqlitedb or .mbtiles) + Map Source
Для растровых карт вы можете определить дополнительные параметры в .ms файле. Так например растровую карту map.sqlitedb
можно сделать оверлеем, добавив в map.ms
следующее содержимое:
<?xml version="1.0" encoding="UTF-8"?>
<customMapSource overlay="true">
</customMapSource>
Кроме того можно указать имя карты, минимальный и максимальный масштаб, когда из этой карты надо загружать данные, и следует ли показывать увеличенные тайлы, если пользователь приблизится сильнее.
<?xml version="1.0" encoding="UTF-8"?>
<customMapSource overlay="true" overzoom="true">
<name>Raster map with extra params</name>
<minZoom>8</minZoom>
<maxZoom>12</maxZoom>
</customMapSource>