Тип плагина QML
Тип Plugin описывает плагин сервисов местоположения. Подробнее...
| Заявление об импорте: | import QtLocation 5.12 |
| С: | 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 содержит языковой вариант системы.
Локали задаются в виде строк формата «язык[_скрипт][_страна]» или «C», где:
- язык — двухбуквенный код языка по ISO 639 (строчные буквы),
- скрипт — четырехбуквенный код скрипта по ISO 15924 (заглавные буквы),
- страна — двух- или трехбуквенный код страны по ISO 3166 (заглавные буквы) или «419» (как определено Организацией Объединённых Наций),
- локаль «C» эквивалентна английской/американской, согласно QLocale
Если первая заданная локаль не поддерживается, плагин Plugin переходит к следующей и так далее. Некоторые бэкэнды Plugin могут не поддерживать набор локали строго определенных. Пример: некоторые Place во Франции могут иметь французскую и английскую локализации, в то время как в некоторых районах Америки доступна только английская. В приведенном выше случае набор поддерживаемых локали зависит от контекста местоположения поиска.
Если Plugin не поддерживает ни одну из предпочитаемых локали, менеджер использует поддерживаемый язык, специфичный для бэкэнда.
Для Plugin, который не поддерживает локали, список locales всегда пуст.
Следующий код демонстрирует, как установить одну и несколько локали:
//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 : enumeration
Это свойство содержит набор функций, которые будут необходимы объекту 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/qt-5.12/qml-qtlocation-plugin.html