Джерела карт
Щоб перейти до іншої карти, відкрийте «Вибрати карту» в налаштуваннях застосунку або торкніться значка шарів на головному екрані.
У цьому меню можна керувати списком потрібних джерел і приховувати ті, якими ви не користуєтеся, з меню вибору карти.
У Guru Maps є два основні типи карт: офлайн та онлайн.
Офлайн-карти
Доступні в Guru Maps офлайн-карти — це векторні карти на основі даних OpenStreetMap, які формуються безпосередньо на пристрої. Вони містять відомості для навігації й топографію, працюють швидко й точно та займають менше місця за растрові карти.
Можна вибрати один із трьох стилів векторної карти:
- Місто — виразна й докладна карта для навігації в містах і селищах.
- Велосипед — додаткові відомості для велосипедистів: велодоріжки, стежки та зручні для велосипеда маршрути.
- Похід — топографічні відомості, стежки та інші об’єкти для піших подорожей і відпочинку на природі.
Можна користуватися й власними картами у форматах .sqlitedb та .mbtiles, створеними на комп’ютері й імпортованими на пристрій. Вони працюють без інтернету, але власні растрові й тайлові карти займають значно більше місця за векторні.
Дивіться також: Імпорт офлайн-карт.
Онлайн-карти
Щоб докладно вивчити місцевість, більше не потрібно заздалегідь завантажувати цілий регіон. Векторні стилі «Місто», «Велосипед» і «Похід», а також дані висоти, завантажуються під час перегляду й зберігаються на пристрої. Відкрийте потрібне місце — виразна докладна карта з’явиться без очікування, а під час наступного перегляду ця область відкриється швидше.
Оскільки дані висоти тепер передаються онлайн, у морях та океанах по всьому світу відображаються ізолінії глибини. Вони показують підводні хребти, жолоби й континентальний шельф так само, як горизонталі показують рельєф суходолу. Океани не належать до жодного регіону для завантаження, тому раніше ці дані не можна було отримати офлайн.
Онлайн-векторні тайли й дані висоти безкоштовні для всіх. Їх завантаження ввімкнено типово; керувати ним можна в налаштуваннях онлайн-карт.
Растрові онлайн-карти
Guru Maps також пропонує растрові джерела від інших постачальників у різних стилях:
- Atlas (Pro)
- CyclOSM
- HERE Hybrid (Pro)
- Humanitarian OSM
- Landscape (Pro)
- Mobile Atlas (Pro)
- Nighbourhood (Pro)
- OpenBusMap
- OpenCycleMap (Pro)
- OpenStreetMap
- Outdoors (Pro)
- Transport (Pro)
- Transport Dark (Pro)
- USGS - Satellite
- USGS - Satellite+
- USGS - Topo
- Wikimapia
Швидкість завантаження залежить від вашого інтернет-з’єднання та продуктивності сервера постачальника карти.
Кешування онлайн-карт
Кешування в Guru Maps завжди ввімкнено. Застосунок автоматично зберігає нещодавно переглянуті тайли, щоб вони залишалися доступними без інтернету:
- Відкрийте в Guru Maps місцевість, яку плануєте відвідати.
- Поки є інтернет, збільште карту до потрібного рівня деталізації.
Guru Maps збереже тайли на тих рівнях масштабу, які були видимі на екрані, і ви зможете відкрити їх офлайн.
Докладніше про розмір кешу й частоту оновлення: Налаштування онлайн-карт.
Шари
Шари в Guru Maps — це прозорі пласти з додатковими даними поверх основної карти. Одночасно можна ввімкнути кілька шарів.
Для відображення рельєфу доступні три основні офлайн-шари:
- Горизонталі — лінії, які показують висоту над рівнем моря.
- Відмивка рельєфу — затінення, подібне до сонячного освітлення, яке робить форму рельєфу наочнішою та об’ємнішою.
- Нахили — кольорове позначення кутів нахилу. Темніший колір означає стрімкіший нахил і допомагає оцінити складність або небезпеку маршруту.

Онлайн-шари:
- OpenSeaMap — візуалізація відкритої морської бази на основі OpenStreetMap. Містить маяки, буї, інші навігаційні знаки, а також відомості про порти, ремонтні майстерні й магазини суднового постачання.
- Інтенсивність опадів — актуальна карта погоди, яка показує кількість опадів у міліметрах за годину.

Додаткові карти
Крім вбудованих растрових онлайн-карт, Guru Maps підтримує власні карти й шари:
.sqlitedbі.mbtiles— растрові офлайн-карти;.msі.xml— власні карти або додаткові параметри;.geojson— векторні шари;.mapcss— власний стиль для.geojson.
Додаткові онлайн-джерела можна знайти тут:
Щоб додати джерело карти:
- Відкрийте одне з посилань на своєму пристрої.
- Торкніться потрібного джерела.
- Знайдіть завантажений файл
.ms. - Відкрийте його в Guru Maps або виберіть надсилання файлу до Guru Maps.
Після імпорту нове джерело з’явиться у списку карт.
Приклади використання
Джерела онлайн-карт
Файл .ms має містити адреси онлайн-тайлів постачальника. Він також може задавати додаткові параметри для растрових карт .sqlitedb і .mbtiles або векторних шарів .geojson.
Приклад: https://ms.gurumaps.app/ms/OpenStreetMap.ms
<?xml version="1.0" encoding="UTF-8"?>
<customMapSource>
<name>OpenStreetMap</name>
<url>http://{$serverpart}.tile.openstreetmap.org/{$z}/{$x}/{$y}.png</url>
<serverParts>a b c</serverParts>
</customMapSource>
Якщо задано тег <url>, джерело завантажує растрові тайли. У шаблон <url> підставляються:
{$serverpart}— випадкова назва сервера з<serverParts>;{$x},{$y},{$z}— адреса тайла;{$quad}— квадратна адреса тайла;{$bbox}— межі тайла у SRID 3857, зазвичай для серверів WMS;{$invX},{$invY}— обернені координатиN-xіN-y, деN— кількість тайлів у поточному масштабі.
Розмір тайла
Тег tileSize задає розмір тайла на екрані в пунктах. Типове значення — 256 пунктів.
<customMapSource>
<tileSize>128</tileSize>
</customMapSource>
Шар
Атрибут overlay показує джерело як шар поверх основної карти.
<customMapSource overlay="true">
</customMapSource>
Прозорість
Тег opacity задає прозорість шару від 0.0 (повністю прозорий) до 1.0 (повністю непрозорий).
<customMapSource overlay="true">
<opacity>0.7</opacity>
</customMapSource>
Інтервал оновлення тайлів
Задайте інтервал у хвилинах, щоб прострочені тайли оновлювалися автоматично. Під час оновлення або без інтернету використовуватимуться тайли з кешу.
<customMapSource>
<tileRefreshInterval>60</tileRefreshInterval>
</customMapSource>
Допустимі рівні масштабу
Теги minZoom і maxZoom обмежують доступні рівні масштабу джерела.
<customMapSource>
<minZoom>4</minZoom>
<maxZoom>12</maxZoom>
</customMapSource>
Тайли поза цим діапазоном не завантажуються. Для шарів вони також не відображаються.
Надмірне масштабування
Атрибут overzoom="true" продовжує показувати джерело за межами заданого діапазону без завантаження додаткових тайлів.
<customMapSource overzoom="true">
<minZoom>4</minZoom>
<maxZoom>12</maxZoom>
</customMapSource>
GeoJSON
GeoJSON — відкритий формат для представлення простих географічних об’єктів та їхніх непросторових властивостей. Докладніше: https://geojson.org
{
"type": "Feature",
"properties": {
"@id": "node/524678909",
"leaf_cycle": "evergreen",
"leaf_type": "needleleaved",
"natural": "tree",
"species": "Pícea",
"species:ru": "Ель"
},
"geometry": {
"type": "Point",
"coordinates": [
26.0211965,
53.1146981
]
},
"id": "node/524678909"
}

Імпортуйте https://gurumaps.app/example/feature_collection.geojson, щоб побачити ліси, дерева й річки біля Барановичів. Будь-який файл GeoJSON можна імпортувати до Guru Maps і показувати як шар поверх основної карти.
Типово до GeoJSON застосовується такий стиль:
* {
details-text: eval(tag('name'));
details-description: eval(any(tag('description'), tag('desc')));
}
line {
width: 3pt;
color: #0062CC;
linecap: round;
}
area {
fill-color: #3395FF88;
width: 2pt;
color: #3395FF;
}
node {
icon-image: 'poi_geojson.svg';
icon-offset-y: 0;
image-allow-overlap: true;
}
GeoJSON + MapCSS
MapCSS — подібна до CSS мова стилів, яка визначає вигляд даних GeoJSON на карті.

Разом із 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 і визначити, які дані, коли та як показувати. Докладніше: Специфікація MapCSS.
Джерело .ms для векторних даних
Імпортуйте файл 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 із посиланням на дані та 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{
fill-color: green;
width:1pt;
color:red;
}
line{
width:1pt;
color:yellow;
}
</style>
</customMapSource>
GeoJSON і стилі, вбудовані в .ms, не залежать від зовнішніх джерел.
Растрова карта .sqlitedb або .mbtiles і джерело карти
Додаткові параметри растрової карти можна задати у файлі .ms. Наприклад, щоб показувати растрову карту map.sqlitedb як шар, створіть файл map.ms із таким вмістом:
<?xml version="1.0" encoding="UTF-8"?>
<customMapSource overlay="true">
</customMapSource>
Примітка: файли .sqlitedb і .ms мають мати однакову назву map.
Також можна задати назву карти в <name>, межі масштабу в <minZoom> і <maxZoom> та ввімкнути overzoom, щоб збільшені тайли відображалися й після перевищення максимального масштабу.
<?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>