Перейти к основному содержимому

Источники карт

Чтобы переключиться на другую карту для отображения, откройте меню "Источник карты" в настройках приложения или нажмите значок слоев на карте.

В настройках вы можете управлять списком предпочитаемых и используемых источников карт, а также скрывать любые неиспользуемые источники из меню переключения карт.

В приложении доступны два типа карт: офлай и онлайн карты.

Офлайн карты

Офлайн карты в Guru Maps — это векторные карты, которые создаются непосредственно на устройстве пользователя на основе данных OpenStreetMap. Они не только предоставляют картографическую информацию, но также включают данные для навигации и топографические данные. Эти карты обладают высокой точностью, работают быстро, регулярно обновляются и занимают меньше места на устройстве, чем растровые карты.

В приложении Guru Maps у вас есть возможность выбрать один из трех доступных стилей офлайн карт:

  • Городской: этот стиль идеально подходит для городских условий, предоставляя четкую и детализированную информацию для навигации по городам и дорогам между ними.

  • Велосипедный: специально разработан для велосипедистов и включает дополнительную информацию, такую как велосипедные дорожки, маршруты и трассы, пригодные для езды на велосипеде.

  • Пешеходный: если вы любите исследовать природу, этот стиль будет идеальным. Он предоставляет топографические детали, маршруты и другие функции, необходимые для походов и активного отдыха на свежем воздухе.

примечание

Вы можете добавлять в приложение любые офлайн карты в форматах .sqlitedb и .mbtiles. Для этого создайте их на компьютере или скачайте готовые, а затем импортируйте в приложение. Эти карты работают офлайн, даже если у вас нет доступа к Интернету. Учтите, что такие карты занимают больше места на устройстве по сравнению с векторными картами.

Онлайн карты

Онлайн карты в Guru Maps предоставляются сторонними поставщиками и представлены в формате растровых тайловых карт. Они отличаются разнообразием визуальных стилей и высокой детализацией, что позволяет выбрать оптимальный вариант для различных задач и предпочтений.

Доступные источники онлайн-карт в приложении 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. Приложение автоматически сохраняет недавно просмотренные изображения карт в вашем кэше, чтобы они были доступны для офлайн-использования. Чтобы убедиться, что карты доступны офлайн, выполните следующие действия:

  1. Перейдите на карте к области, которую вы планируете посетить.
  2. Подключитесь к Интернету и увеличьте масштаб до необходимого уровня детализации.
  3. Таким образом, Guru Maps сохранит загруженные изображения карт на тех уровнях масштабирования, которые отображаются на экране, позволяя получить к ним доступ в офлайн-режиме.

Для информации о размере кэша и настройки частоты обновления обратитесь к разделу "Онлайн-карты".

Слои

Слои в Guru Maps отображают дополнительную информацию поверх основной карты. Одновременно можно отображать несколько слоев для получения более полной информации.

В приложении Guru Maps доступны три основных офлайн-слоя для визуализации рельефа:

  • Контурные линии: накладываются на карту и показывают высоту над уровнем моря.
  • Затенение рельефа: добавляет тени, имитируя эффект солнечного освещения рельефа. Это обеспечивает более реалистичное представление ландшафта и придает карте ощущение 3D.
  • Уклоны: визуализируют крутизну склонов, помогая оценить рельеф местности и спланировать комфортный маршрут. Раскраска карты передает углы наклона: более темные цвета указывают на более крутые склоны.

Уклоны

В приложении Guru Maps доступны по умолчанию два онлайн-слоя карт:

  • OpenSeaMap: представляет собой визуализацию бесплатной морской базы данных с использованием данных OpenStreetMap. Включает маяки, буи и другие навигационные элементы, а также информацию о портах, ремонтных мастерских и магазинах судового снабжения.
  • Интенсивность осадков: в реальном времени отображает количество осадков, выпадающих в данный момент, в миллиметрах в час.

Интенсивность осадков

Дополнительные карты

В дополнение к встроенным онлайн растровым картам, Guru Maps также поддерживает пользовательские карты и слои в следующих форматах:

  • .sqlitedb и .mbtiles — для офлайн растровых карт
  • .ms и .xml — для пользовательских карт или дополнительных параметров
  • .geojson — для векторных слоев
  • .mapcss — для пользовательских стилей, используемых для .geojson

Вы можете добавить больше онлайн источников карт по этим ссылкам:

Откройте одну из ссылок в браузере и выберите источник карты, который хотите установить. Чтобы добавить новый источник, нажмите на название карты, которую хотите установить. Затем откройте загруженный файл .ms в приложении Guru Maps на вашем устройстве или выберите опцию отправки файла в Guru Maps.

Примеры использования

Файл источника онлайн карты

Чтобы добавить новый источник онлайн-карты в приложение Guru Maps, необходимо создать файл источника карты в формате .ms. Файл должен содержать описание URL-адреса картыю

Пример содержимого файла для источника карты:

<?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,
  • {$invX}, {$invY} - инвертированные координаты. N-x и N-y, где N число тайлов на текущем масштабе.

Следуя этим инструкциям, вы можете настроить собственные источники карт для использования в приложении Guru Maps.

Так же можно настроить дополнительные параметры для онлайн карты: задать размер тайла, отображать онлайн карту поверх любой другой карты как слой, настроить прозрачность и интервал обновления карты, установить интервалы масштаба для загрузки карты.

Размер тайла

Чтобы изменить размер тайла карты на экране, используйте тег tileSize. Размер измеряется в дисплейных точках. По умолчанию 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)

Чтобы продолжать отображать источник карты, но не загружать дополнительные тайлы, используется атрибут overzoom. Когда он установлен в true, источник карты будет отображаться ниже указанного диапазона масштабирования.

<customMapSource overzoom="true">
<minZoom>4</minZoom>
<maxZoom>12</maxZoom>
</customMapSource>

Файл GeoJSON в Guru Maps

GeoJSON — это открытый стандарт формата, предназначенный для представления простых географических объектов и их атрибутов. Подробнее об этом формате можно прочитать здесь: https://geojson.org.

Вы можете показать данные из GeoJSON файла на карте в Guru Maps и использовать их в качестве слоев поверх основной карты.

Пример файла GeoJSON:

{
"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 содержат два основных поля, это properties и geometry.

properties содержит теги и значения описывающие объект. Например, имя, тип, описание, число полос для дорог. По параметрам из properties стиль может выбрать каким цветом и на каком уровне приближения рисовать эти данные.

Импортируйте файл feature_collection.geojson, чтобы увидеть на карте леса, деревья и реки возле Барановичей, Беларусь.

feature_collection-01

Настроить стиль .MapCSS для GeoJSON

MapCSS — это язык стилей, похожий на CSS, используемый для настройки отображения данных GeoJSON на карте.

Вместе с файлом feature_collection.geojson импортируйте файл 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;
}

После импорта на карте будут видны только деревья. Вечнозеленые деревья будут отмечены зелеными кругами, а все остальные деревья — красными кругами.

feature_collection-02

Для любого файла .geojson вы можете добавить свой стиль .mapcss, чтобы настроить отображение данных. Подробности о спецификации MapCSS можно найти здесь.

Настроить стиль .ms для векторных данных

  1. Импортируйте файл 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>

После импорта данные из feature_collection.geojson будут автоматически загружены.

  1. Теги <geojson> и <style> могут содержать атрибут url с адресом данных и updateInterval — интервал проверки обновлений в минутах.

Пример файла 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>
  1. Также можно вставить данные GeoJSON или блок <![CDATA[ ]]> с данными GeoJSON внутри. Пример такого файла 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>

feature_collection-03

Настроить стиль для растровых данных

Для растровых карт в форматах .sqlitedb/.mbtiles можно задать дополнительные параметры в файле .ms. Например, чтобы сделать растровую карту слоем, добавьте следующий код в файл map.ms:

<?xml version="1.0" encoding="UTF-8"?>
<customMapSource overlay="true">
</customMapSource>

Кроме того, можно указать <name> карты, <minZoom> минимальный и <maxZoom> максимальный уровни зума, а также overzoom, чтобы показывать увеличенные тайлы, если пользователь увеличивает масштаб за пределы maxZoom.

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