Тип плагина QML
Тип Plugin описывает плагин сервисов местоположения. Подробнее...
| Заявление об импорте: | import QtLocation 5.15 |
| С момента: | QtLocation 5.5 |
Свойства
- allowExperimental : bool
- availableServiceProviders : stringlist
- isAttached : bool
- locales : stringlist
- имя : строка
- параметры : список<PluginParameter>
- предпочитаемые : stringlist
- необходимые : перечисление
Методы
- bool supportsGeocoding(GeocodingFeatures features)
- bool supportsMapping(MappingFeatures features)
- bool supportsNavigation(NavigationFeatures features)
- bool supportsPlaces(PlacesFeatures features)
- bool supportsRouting(RoutingFeatures features)
Подробное описание
Тип Plugin используется для декларативного указания того, какой доступный плагин GeoServices следует использовать для различных задач в API местоположения. Плагины используются типами Map, RouteModel и GeocodeModel, а также многими другими.
Плагины, распознанные системой, имеют свойство имя, простую строку, обычно указывающую имя сервиса, из которого плагин извлекает данные. Они также имеют различные функции, которые можно проверить с помощью методов supportsRouting(), supportsGeocoding(), supportsMapping(), supportsPlaces() и supportsNavigation().
Когда объект Plugin создается, он «откреплен» и не связан с каким-либо фактическим плагином сервиса. После получения информации путем установки свойств имя, предпочитаемые или необходимые, он выберет подходящий плагин сервиса для подключения. Объекты Plugin могут быть подключены только один раз; для использования нескольких плагинов создайте несколько объектов Plugin.
Пример использования
Следующий фрагмент кода демонстрирует создание объекта Plugin со свойствами необходимые и предпочитаемые установленных. Этот Plugin будет подключаться к первому найденному плагину, который поддерживает как отображение, так и геокодирование, и будет отдавать предпочтение плагинам с именем «here» или «osm» перед другими.
Plugin {
id: plugin
preferred: ["here", "osm"]
required: Plugin.AnyMappingFeatures | Plugin.AnyGeocodingFeatures
} Документация по свойствам
allowExperimental : bool
Это свойство указывает, можно ли использовать экспериментальные плагины.
availableServiceProviders : stringlist
Это свойство содержит список имен всех доступных плагинов сервисов. Его можно использовать для ручного перечисления доступных плагинов, если управления, предоставляемого свойствами имя и необходимые, недостаточно для ваших потребностей.
isAttached : bool
Это свойство указывает, подключен ли элемент Plugin к плагину поставщика геосервисов.
locales : stringlist
Это свойство содержит упорядоченный список предпочитаемых языковых локалей плагина. Если первая локаль не может быть обработана, тогда бэкенд переходит ко второй и так далее. По умолчанию свойство locales содержит системную локаль.
Локали задаются как строки, имеющие формат «язык[_скрипт][_страна]» или «C», где:
- язык — это двухбуквенный код языка в нижнем регистре по ISO 639,
- скрипт — это четырёхбуквенный код скрипта в верхнем регистре по ISO 15924,
- страна — это двух- или трёхбуквенный код страны в верхнем регистре по ISO 3166 (также «419» по определению Организации Объединённых Наций),
- локаль «C» идентична по поведению английскому/американскому в соответствии с QLocale
Если первая указанная локаль не может быть обработана, Plugin переходит к следующей и так далее. Некоторые бэкэнды Plugin могут не поддерживать набор локалей, которые строго определены. Пример — некоторые Place во Франции могут иметь французские и английские локализации, в то время как в определённых районах Америки может быть доступна только английская локализация. В приведенном выше сценарии набор поддерживаемых локалей зависит от контекста местоположения поиска.
Если Plugin не может обработать ни одну из предпочитаемых локалей, менеджер переходит к поддержанному языку, специфичному для бэкэнда.
Для Plugin, которые не поддерживают локали, список локалей всегда пустой.
Следующий код демонстрирует, как установить одну и несколько локалей:
//single locale
Plugin {
locales: "en_US"
}
//multiple locales
Plugin {
locales: ["fr_FR","en_US"]
} имя : строка
Это свойство содержит имя плагина. Установка этого свойства приведет к тому, что Plugin будет подключаться только к плагину с точно таким же именем. Значение необходимые будет игнорироваться.
[по умолчанию] параметры : список<PluginParameter>
Это свойство содержит список параметров плагина.
предпочитаемые : stringlist
Это свойство содержит упорядоченный список предпочитаемых имён плагинов, которые будут проверяться на наличие необходимых функций, заданных в необходимые, перед проверкой любых других доступных плагинов.
необходимые : перечисление
Это свойство содержит набор функций, которые будут необходимы объекту Plugin при выборе плагина сервиса для подключения. Если свойство имя установлено, это не влияет.
Могут быть установлены любые из следующих значений или их побитовое сочетание:
- 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.15/qml-qtlocation-plugin.html