Spec-Zone.ru › Qt 5.6

Плагин Qt Location Open Street Map

Обзор

Этот плагин геосервисов позволяет приложениям получать доступ к Open Street Map сервисам местоположения с использованием API Qt Location.

Данные, изображения и информация о карте предоставлены OpenMapSurfer, ThunderForest, OpenStreetMap и участниками. Данные доступны по лицензии Open Database License.

Плагин геосервисов Open Street Map может быть загружен, используя ключ плагина "osm".

Примечание: Начиная с Qt 5.6.2, доступные типы карт, предлагаемые этим плагином, могут изменяться без предварительного уведомления в зависимости от фактического наличия каждого поставщика. Чтобы предотвратить эти изменения, следует использовать другой плагин геосервисов или установить параметр плагина osm.mapping.providersrepository.address на указанный пользователем репозиторий, чтобы полностью контролировать (и взять на себя ответственность за) выбор поставщика для каждого типа карты.

Параметры

Необязательные параметры

В следующей таблице перечислены необязательные параметры, которые можно передать плагину Open Street Map.

Примечание: Начиная с Qt 5.5, все параметры ниже должны быть префиксрованы с osm. В предыдущих версиях префикс не требовался.

Параметр Описание
osm.useragent Строка user agent, устанавливаемая при выполнении сетевых запросов. Этот параметр должен быть установлен на значение, однозначно идентифицирующее приложение. Обратите внимание, что поставщики могут блокировать приложения, не устанавливающие этот параметр, оставляя его для пользовательского user agent плагина (например, Nominatim для геокодирования)
osm.mapping.custom.host Строка URL, устанавливаемая при выполнении сетевых запросов к серверу тайлов. Этот параметр должен быть установлен на корректный URL-адрес сервера с правильным API osm и Map::activeMapType на соответствующий MapType.CustomMap. CustomMap будет доступна только при установке этого параметра.

Примечание: Установка параметра mapping.custom.host на новый сервер делает кеш тайлов карты бесполезным для старого стиля custommap.

osm.mapping.custom.mapcopyright Строка пользовательского авторских прав карты используется при установке Map::activeMapType на MapType.CustomMap через параметр urlprefix. Эти авторские права будут использоваться только при использовании CustomMap из вышеперечисленного. Если пустая, авторские права на карту для custom карты не будут отображаться.
osm.mapping.custom.datacopyright Строка пользовательских авторских прав на данные используется при установке Map::activeMapType на MapType.CustomMap через параметр urlprefix. Эти авторские права будут использоваться только при использовании CustomMap из вышеперечисленного. Если пустая, авторские права на данные для custom карты не будут отображаться.
osm.mapping.providersrepository.address Плагин OpenStreetMap получает информацию о поставщике из удаленного репозитория. Это делается для предотвращения использования жестко закодированных серверов по умолчанию, которые могут стать недоступными. По умолчанию эта информация извлекается из maps-redirect.qt.io. Установка этого параметра изменяет адрес репозитория поставщиков на указанный пользователем, который должен содержать файлы street, satellite, cycle, transit, night-transit, terrain и hiking, каждый из которых должен содержать корректную информацию о поставщике.
osm.mapping.providersrepository.disabled По умолчанию плагин OpenStreetMap получает информацию о поставщике из удаленного репозитория, чтобы избежать потери сервиса из-за недоступности жестко закодированных сервисов. Плагин, тем не менее, содержит резервные жестко закодированные данные поставщика, на случай, если репозиторий поставщика станет недоступным. Установка этого параметра на true заставит плагин использовать только жестко закодированные URL-адреса и, следовательно, предотвратит загрузку данных поставщика из удаленного репозитория.
osm.routing.host Строка URL, устанавливаемая при выполнении сетевых запросов к серверу маршрутизации. Этот параметр должен быть установлен на корректный URL-адрес сервера с правильным API osrm. Если не указан, будет использоваться стандартный URL.

Примечание: Документация API и исходные коды доступны на сайте Project OSRM.

osm.routing.apiversion Строка, определяющая версию API (пользовательского) сервера OSRM. Допустимые значения: v4 и v5. По умолчанию v5. Этот параметр следует устанавливать только если osm.routing.host установлен, и это сервер OSRM v4.
osm.geocoding.host Строка URL, устанавливаемая при выполнении сетевых запросов к серверу геокодирования. Этот параметр должен быть установлен на корректный URL-адрес сервера с правильным API osm. Если не указан, будет использоваться стандартный URL.

Примечание: Документация API доступна на сайте Project OSM Nominatim.

osm.places.host Строка URL, устанавливаемая при выполнении сетевых запросов к серверу мест. Этот параметр должен быть установлен на корректный URL-адрес сервера с правильным API osm. Если не указан, будет использоваться стандартный URL.

Примечание: Документация API доступна на сайте Project OSM Nominatim.

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

Следующий пример демонстрирует, как создать экземпляр плагина OSM с параметрами, предоставленными для useragent и, при необходимости, пользовательского URL-адреса сервера, а также соответствующей информации об авторских правах для поставщика тайлов. Кроме того, можно выбрать другой сервер маршрутизации, отличный от публичного osrm.

QML

Plugin {
    name: "osm"
    PluginParameter { name: "osm.useragent"; value: "My great Qt OSM application" }
    PluginParameter { name: "osm.mapping.host"; value: "http://osm.tile.server.address/" }
    PluginParameter { name: "osm.mapping.copyright"; value: "All mine" }
    PluginParameter { name: "osm.routing.host"; value: "http://osrm.server.address/viaroute" }
    PluginParameter { name: "osm.geocoding.host"; value: "http://geocoding.server.address" }
}

Другая информация, специфичная для плагина

Кэш тайлов

Тайлы кешируются в каталоге QtLocation/osm в QStandardPaths::writableLocation (QStandardPaths::GenericCacheLocation). На системах, не имеющих концепции общего кэша, вместо этого используется приложение-специфический QStandardPaths::CacheLocation.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.6/location-plugin-osm.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API