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