Тип плагина QML
Тип Plugin описывает плагин служб местоположения. Подробнее...
| Заявление об импорте: | import QtLocation 5.11 |
| С момента: | QtLocation 5.5 |
Свойства
- allowExperimental : bool
- availableServiceProviders : stringlist
- isAttached : bool
- locales : stringlist
- name : string
- parameters : list<PluginParameter>
- preferred : stringlist
- required : перечисление
Методы
- bool supportsGeocoding(GeocodingFeatures features)
- bool supportsMapping(MappingFeatures features)
- bool supportsNavigation(NavigationFeatures features)
- bool supportsPlaces(PlacesFeatures features)
- bool supportsRouting(RoutingFeatures features)
Подробное описание
Тип Plugin используется для декларативного указания, какой доступный плагин GeoServices следует использовать для различных задач в API Location. Плагины используются типами Map, RouteModel и GeocodeModel, а также многими другими.
Плагины, распознанные системой, имеют свойство name, простую строку, обычно обозначающую имя службы, из которой плагин извлекает данные. У них также есть различные функции, которые можно проверить с помощью методов supportsRouting(), supportsGeocoding(), supportsMapping(), supportsPlaces() и supportsNavigation().
Когда создается объект Plugin, он «открепляется» и не связан с каким-либо фактическим плагином службы. После получения информации через задание свойств name, preferred или required, он выберет подходящий плагин службы для подключения. Объекты Plugin могут быть подключены только один раз; для использования нескольких плагинов создайте несколько объектов Plugin.
Пример использования
Следующий фрагмент показывает, как создается объект Plugin со свойствами required и preferred . Этот Plugin подключится к первому найденному плагину, который поддерживает как картографирование, так и геокодирование, и отдаст предпочтение плагинам с именами «here» или «osm» перед другими.
Plugin {
id: plugin
preferred: ["here", "osm"]
required: Plugin.AnyMappingFeatures | Plugin.AnyGeocodingFeatures
} Документация свойств
allowExperimental : bool
Это свойство указывает, можно ли использовать экспериментальные плагины.
availableServiceProviders : stringlist
Это свойство содержит список имен всех доступных плагинов служб. Это можно использовать для ручного перечисления доступных плагинов, если управления, предоставляемого свойствами name и required, недостаточно для ваших нужд.
isAttached : bool
Это свойство указывает, присоединён ли элемент Plugin к плагину поставщика геосервисов.
locales : stringlist
Это свойство содержит упорядоченный список предпочтительных языковых локалей плагина. Если первая локаль не может быть учтена, то бэкенд переходит к второй и так далее. По умолчанию свойство locales содержит системную локаль.
Локали задаются как строки в формате "language[_script][_country]" или "C", где:
- language — двухбуквенный код языка в нижнем регистре, ISO 639,
- script — четырехбуквенный код скрипта в верхнем регистре, ISO 15924,
- country — двух- или трехбуквенный код страны в верхнем регистре, ISO 3166 (также "419" как определено Организацией Объединенных Наций),
- локаль "C" идентична по поведению английской/американской, как в QLocale
Если первая указанная локаль не может быть учтена, Plugin переходит к следующей и так далее. Некоторые бэкэнды Plugin могут не поддерживать набор локалей, строго определенный в формате. Пример — некоторые Place во Франции могут иметь французскую и английскую локализации, в то время как в некоторых районах Америки может быть только английская локализация. В приведенном выше сценарии набор поддерживаемых локалей зависит от контекста местоположения поиска.
Если Plugin не может использовать ни одну из предпочтительных локалей, менеджер переходит к поддерживаемому языку, специфичному для бэкэнда.
Для Pluginов, которые не поддерживают локали, список локалей всегда пуст.
Следующий код демонстрирует, как установить одну и несколько локалей:
//single locale
Plugin {
locales: "en_US"
}
//multiple locales
Plugin {
locales: ["fr_FR","en_US"]
} name : string
Это свойство содержит имя плагина. Установка этого свойства приведет к подключению Plugin только к плагину с точно таким же именем. Значение required будет проигнорировано.
[default] parameters : list<PluginParameter>
Это свойство содержит список параметров плагина.
preferred : stringlist
Это свойство содержит упорядоченный список предпочтительных имен плагинов, которые будут проверяться на наличие необходимых функций, установленных в required, перед проверкой других доступных плагинов.
required : перечисление
Это свойство содержит набор функций, которые будут необходимы объекту Plugin при выборе плагина службы для подключения. Если свойство name установлено, это не имеет эффекта.
Можно установить любое из следующих значений или побитовое сочетание нескольких значений:
- Plugin.NoFeatures
- Plugin.GeocodingFeature
- Plugin.ReverseGeocodingFeature
- Plugin.RoutingFeature
- Plugin.MappingFeature
- Plugin.AnyPlacesFeature
Документация методов
bool supportsGeocoding(GeocodingFeatures features)
Этот метод возвращает логическое значение, указывающее, поддерживается ли указанный набор features плагином поставщика геослужбы. True возвращается, если все указанные features поддерживаются; в противном случае возвращается false.
Параметр features может быть любым сочетанием флагов:
| Функция | Описание |
|---|---|
| Plugin.NoGeocodingFeatures | Функции геокодирования не поддерживаются. |
| Plugin.OnlineGeocodingFeature | Поддерживается онлайн-геокодирование. |
| Plugin.OfflineGeocodingFeature | Поддерживается офлайн-геокодирование. |
| Plugin.ReverseGeocodingFeature | Поддерживается обратное геокодирование. |
| Plugin.LocalizedGeocodingFeature | Поддерживает возвращение результатов геокодирования с локализованными адресами. |
| Plugin.AnyGeocodingFeatures | Соответствует поставщику геослужб, предоставляющему любые функции геокодирования. |
bool supportsMapping(MappingFeatures features)
Этот метод возвращает логическое значение, указывающее, поддерживается ли указанный набор features плагином поставщика геослужбы. Возвращается true, если все указанные features поддерживаются; в противном случае возвращается false.
Параметр features может быть любым сочетанием флагов:
| Функция | Описание |
|---|---|
| Plugin.NoMappingFeatures | Функции картографирования не поддерживаются. |
| Plugin.OnlineMappingFeature | Поддерживается онлайн-картографирование. |
| Plugin.OfflineMappingFeature | Поддерживается офлайн-картографирование. |
| Plugin.LocalizedMappingFeature | Поддерживает возвращение локализованных данных карты. |
| Plugin.AnyMappingFeatures | Соответствует поставщику геослужб, предоставляющему любые функции картографирования. |
bool supportsNavigation(NavigationFeatures features)
Этот метод возвращает булево значение, указывающее, поддерживает ли плагин поставщика геосервисов указанный набор функций. Возвращается значение true, если все указанные функции поддерживаются; в противном случае возвращается false.
Параметр features может быть любой комбинацией флагов:
| Функция | Описание |
|---|---|
| Plugin.NoNavigationFeatures | Не поддерживаются функции навигации. |
| Plugin.OnlineNavigationFeature | Поддерживается онлайн-навигация. |
| Plugin.OfflineNavigationFeature | Поддерживается офлайн-навигация. |
| Plugin.AnyNavigationFeatures | Соответствует поставщику геосервисов, который предоставляет любые функции навигации. |
bool supportsPlaces(PlacesFeatures features)
Этот метод возвращает булево значение, указывающее, поддерживает ли плагин поставщика геосервисов указанный набор функций. Возвращается значение true, если все указанные функции поддерживаются; в противном случае возвращается false.
Параметр features может быть любой комбинацией флагов:
| Функция | Описание |
|---|---|
| Plugin.NoPlacesFeatures | Не поддерживаются функции мест. |
| Plugin.OnlinePlacesFeature | Поддерживаются онлайн-места. |
| Plugin.OfflinePlacesFeature | Поддерживаются офлайн-места. |
| Plugin.SavePlaceFeature | Поддерживается сохранение категорий. |
| Plugin.RemovePlaceFeature | Поддерживается удаление мест. |
| Plugin.PlaceRecommendationsFeature | Поддерживается поиск рекомендуемых мест, похожих на другое место. |
| Plugin.SearchSuggestionsFeature | Поддерживаются подсказки поиска. |
| Plugin.LocalizedPlacesFeature | Поддерживается возврат локализованных данных о местах. |
| Plugin.NotificationsFeature | Поддерживаются уведомления о изменениях мест и категорий. |
| Plugin.PlaceMatchingFeature | Поддерживается сопоставление мест из двух разных поставщиков геосервисов. |
| Plugin.AnyPlacesFeatures | Соответствует поставщику геосервисов, который предоставляет любые функции мест. |
bool supportsRouting(RoutingFeatures features)
Этот метод возвращает булево значение, указывающее, поддерживает ли плагин поставщика геосервисов указанный набор функций. Возвращается значение true, если все указанные функции поддерживаются; в противном случае возвращается false.
Параметр features может быть любой комбинацией флагов:
| Функция | Описание |
|---|---|
| Plugin.NoRoutingFeatures | Не поддерживаются функции маршрутизации. |
| Plugin.OnlineRoutingFeature | Поддерживается онлайн-маршрутизация. |
| Plugin.OfflineRoutingFeature | Поддерживается офлайн-маршрутизация. |
| Plugin.LocalizedRoutingFeature | Поддерживается возврат маршрутов с локализованными адресами и инструкциями. |
| Plugin.RouteUpdatesFeature | Поддерживается обновление существующего маршрута на основе текущего местоположения. |
| Plugin.AlternativeRoutesFeature | Поддерживается возврат альтернативных маршрутов. |
| Plugin.ExcludeAreasRoutingFeature | Поддерживается указание областей, через которые возвращаемый маршрут не должен проходить. |
| Plugin.AnyRoutingFeatures | Соответствует поставщику геосервисов, который предоставляет любые функции маршрутизации. |
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qml-qtlocation-plugin.html