Перейти до основного вмісту

Джерела карт

Щоб перейти до іншої карти, відкрийте «Вибрати карту» в налаштуваннях застосунку або торкніться значка шарів на головному екрані.

У цьому меню можна керувати списком потрібних джерел і приховувати ті, якими ви не користуєтеся, з меню вибору карти.

У 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 завжди ввімкнено. Застосунок автоматично зберігає нещодавно переглянуті тайли, щоб вони залишалися доступними без інтернету:

  1. Відкрийте в Guru Maps місцевість, яку плануєте відвідати.
  2. Поки є інтернет, збільште карту до потрібного рівня деталізації.

Guru Maps збереже тайли на тих рівнях масштабу, які були видимі на екрані, і ви зможете відкрити їх офлайн.

Докладніше про розмір кешу й частоту оновлення: Налаштування онлайн-карт.

Шари

Шари в Guru Maps — це прозорі пласти з додатковими даними поверх основної карти. Одночасно можна ввімкнути кілька шарів.

Для відображення рельєфу доступні три основні офлайн-шари:

  • Горизонталі — лінії, які показують висоту над рівнем моря.
  • Відмивка рельєфу — затінення, подібне до сонячного освітлення, яке робить форму рельєфу наочнішою та об’ємнішою.
  • Нахили — кольорове позначення кутів нахилу. Темніший колір означає стрімкіший нахил і допомагає оцінити складність або небезпеку маршруту.

Шкала нахилів

Онлайн-шари:

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

Інтенсивність опадів

Додаткові карти

Крім вбудованих растрових онлайн-карт, Guru Maps підтримує власні карти й шари:

  • .sqlitedb і .mbtiles — растрові офлайн-карти;
  • .ms і .xml — власні карти або додаткові параметри;
  • .geojson — векторні шари;
  • .mapcss — власний стиль для .geojson.

Додаткові онлайн-джерела можна знайти тут:

Щоб додати джерело карти:

  1. Відкрийте одне з посилань на своєму пристрої.
  2. Торкніться потрібного джерела.
  3. Знайдіть завантажений файл .ms.
  4. Відкрийте його в 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"
}

Ліси, дерева й річки з GeoJSON

Імпортуйте 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 на карті.

Дерева зі стилем 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 і визначити, які дані, коли та як показувати. Докладніше: Специфікація 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.

Вбудовані GeoJSON і стиль

<?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>