Spec-Zone.ru › Qt 5.15

Класс QGeoServiceProvider

Класс QGeoServiceProvider агрегирует доступ к службам, предоставляющим географическую информацию. Подробнее...

Заголовок: #include <QGeoServiceProvider>
qmake: QT += location
С момента: Qt 5.6
Наследует: QObject

Этот класс был представлен в Qt 5.6.

  • Список всех членов, включая унаследованные

Типы публичного доступа

Перечисление Ошибка { НетОшибок, НеПоддерживается, НеизвестныйПараметр, ОтсутствуетНеобходимыйПараметр, ОшибкаПодключения, ОшибкаЗагрузчика }
Перечисление ГеокодированиеФункция { НетГеокодирования, ГеокодированиеОнлайн, ГеокодированиеОфлайн, ОбратноеГеокодирование, ЛокализованноеГеокодирование, ЛюбыеГеокодирования }
Флаги ГеокодированияФункции
Перечисление ФункцияКартирования { НетКартирования, КартированиеОнлайн, КартированиеОфлайн, ЛокализованноеКартирование, ЛюбыеКартирования }
Флаги ФункцииКартирования
Перечисление ФункцияНавигации { НетНавигации, НавигацияОнлайн, НавигацияОфлайн, ЛюбыеНавигации }
Флаги ФункцииНавигации
Перечисление ФункцияМест { НетМест, МестаОнлайн, МестаОфлайн, СохранениеМесто, УдалениеМесто, …, ЛюбыеМеста }
Флаги ФункцииМест
Перечисление ФункцияМаршрутизации { НетМаршрутизации, МаршрутизацияОнлайн, МаршрутизацияОфлайн, ЛокализованнаяМаршрутизация, ОбновленияМаршрута, …, ЛюбыеМаршруты }
Флаги ФункцииМаршрутизации

Публичные функции

…
QGeoServiceProvider(const QString &providerName, const QVariantMap &parameters = QVariantMap(), bool allowExperimental = false)
виртуальный ~QGeoServiceProvider()
QGeoServiceProvider::Ошибка Ошибка() const
QString СтрокаОшибки() const
QGeoServiceProvider::Ошибка ОшибкаГеокодирования() const
QString СтрокаОшибкиГеокодирования() const
QGeoServiceProvider::ГеокодированияФункции ГеокодированияФункции() const
QGeoCodingManager * geocodingManager() const
QGeoServiceProvider::Ошибка ОшибкаКартирования() const

Статические публичные члены

QStringList ДоступныеПровайдерыСлужб()

Подробное описание

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

Возможно комбинировать провайдеры для различных областей, так что менеджер геокодирования от одного провайдера может использоваться с менеджером географической маршрутизации от другого провайдера.

Это не рекомендуется, если клиент не может проверить, совместимы ли данные, предоставляемые различными службами, поскольку различия в базовых наборах данных могут привести к серьёзным несоответствиям между службами.

Подклассы QGeoServiceProvider гарантируют, что предоставляемые ими различные службы совместимы.

В данный момент с Qt поставляются два плагина GeoServices. Они доступны по своим именам провайдеров:

  • "mapbox" -> Служба Mapbox
  • "here" -> Службы HERE
  • "osm" -> Службы OpenStreetMap
  • "esri" -> Службы ESRI

Каждый провайдер служб должен следовать соглашению об именовании для имён параметров/ключей, специфичных для службы. Они используют имя провайдера в качестве префикса для всех имён параметров. Например, провайдер службы HERE требует параметр here.app_id. При загрузке провайдера передаются только те параметры, имена параметров которых начинаются с имени провайдера. Это предотвращает совместное использование чувствительных параметров, таких как конфиденциальные token или app_id параметры с другими плагинами.

Обратитесь к документации конкретного плагина GeoServices, чтобы получить полный список доступных имён параметров/ключей и значений.

Документация по типу члена

Перечисление QGeoServiceProvider::Ошибка

Описание ошибки, связанной с загрузкой и настройкой плагина поставщика услуг.

Константа Значение Описание
QGeoServiceProvider::NoError 0 Ошибка не произошла.
QGeoServiceProvider::NotSupportedError 1 Плагин не поддерживает эту функциональность.
QGeoServiceProvider::UnknownParameterError 2 Плагин не распознал один из переданных параметров.
QGeoServiceProvider::MissingRequiredParameterError 3 Плагин не нашел один из ожидаемых параметров.
QGeoServiceProvider::ConnectionError 4 Плагин не смог подключиться к своему сервису или базе данных.
QGeoServiceProvider::LoaderError 5 Плагин не загрузился.

enum QGeoServiceProvider::GeocodingFeatureflags QGeoServiceProvider::GeocodingFeatures

Описание геокодирующих возможностей, поддерживаемых поставщиком геосервиса.

Константа Значение Описание
QGeoServiceProvider::NoGeocodingFeatures 0 Геокодирование не поддерживается.
QGeoServiceProvider::OnlineGeocodingFeature (1<<0) Поддерживается онлайн-геокодирование.
QGeoServiceProvider::OfflineGeocodingFeature (1<<1) Поддерживается офлайн-геокодирование.
QGeoServiceProvider::ReverseGeocodingFeature (1<<2) Поддерживается обратное геокодирование.
QGeoServiceProvider::LocalizedGeocodingFeature (1<<3) Поддерживается возврат результатов геокодирования с адресами в локальном формате.
QGeoServiceProvider::AnyGeocodingFeatures ~(0) Соответствует поставщику геосервиса, который предоставляет любые геокодирующие возможности.

Тип GeocodingFeatures является типом-синонимом для QFlags<GeocodingFeature>. Он хранит результат объединения по оператору OR значений GeocodingFeature.

enum QGeoServiceProvider::MappingFeatureflags QGeoServiceProvider::MappingFeatures

Описание возможностей отображения, поддерживаемых поставщиком геосервиса.

Константа Значение Описание
QGeoServiceProvider::NoMappingFeatures 0 Функциональность отображения не поддерживается.
QGeoServiceProvider::OnlineMappingFeature (1<<0) Поддерживается онлайн-отображение.
QGeoServiceProvider::OfflineMappingFeature (1<<1) Поддерживается офлайн-отображение.
QGeoServiceProvider::LocalizedMappingFeature (1<<2) Поддерживается возврат локальных данных карты.
QGeoServiceProvider::AnyMappingFeatures ~(0) Соответствует поставщику геосервиса, который предоставляет любые функции отображения.

Тип MappingFeatures является типом-синонимом для QFlags<MappingFeature>. Он хранит результат объединения по оператору OR значений MappingFeature.

enum QGeoServiceProvider::NavigationFeatureflags QGeoServiceProvider::NavigationFeatures

Описание функций навигации, поддерживаемых поставщиком геосервиса.

Константа Значение Описание
QGeoServiceProvider::NoNavigationFeatures 0 Функции навигации не поддерживаются.
QGeoServiceProvider::OnlineNavigationFeature (1<<0) Поддерживается онлайн-навигация.
QGeoServiceProvider::OfflineNavigationFeature (1<<1) Поддерживается офлайн-навигация.
QGeoServiceProvider::AnyNavigationFeatures ~(0) Соответствует поставщику геосервиса, который предоставляет любые функции навигации.

Тип NavigationFeatures является типом-синонимом для QFlags<NavigationFeature>. Он хранит логическое ИЛИ сочетание значений NavigationFeature.

перечисление QGeoServiceProvider::PlacesFeatureфлаги QGeoServiceProvider::PlacesFeatures

Описание функций мест, поддерживаемых поставщиком геосервисов.

Константа Значение Описание
QGeoServiceProvider::NoPlacesFeatures 0 Функции мест не поддерживаются.
QGeoServiceProvider::OnlinePlacesFeature (1<<0) Поддерживаются онлайн-места.
QGeoServiceProvider::OfflinePlacesFeature (1<<1) Поддерживаются оффлайн-места.
QGeoServiceProvider::SavePlaceFeature (1<<2) Поддержка сохранения мест.
QGeoServiceProvider::RemovePlaceFeature (1<<3) Поддержка удаления мест.
QGeoServiceProvider::SaveCategoryFeature (1<<4) Поддержка сохранения категорий.
QGeoServiceProvider::RemoveCategoryFeature (1<<5) Поддержка удаления категорий.
QGeoServiceProvider::PlaceRecommendationsFeature (1<<6) Поддержка поиска рекомендуемых мест, похожих на другое место.
QGeoServiceProvider::SearchSuggestionsFeature (1<<7) Поддержка предложений поиска.
QGeoServiceProvider::LocalizedPlacesFeature (1<<8) Поддержка возвращения локализованных данных о месте.
QGeoServiceProvider::NotificationsFeature (1<<9) Поддержка уведомлений об изменениях мест и категорий.
QGeoServiceProvider::PlaceMatchingFeature (1<<10) Поддержка сопоставления мест из двух разных поставщиков геосервисов.
QGeoServiceProvider::AnyPlacesFeatures ~(0) Сопоставление поставщика геосервисов, предоставляющего любые функции мест.

Тип PlacesFeatures является типом-синонимом для QFlags<PlacesFeature>. Он хранит логическое ИЛИ сочетание значений PlacesFeature.

перечисление QGeoServiceProvider::RoutingFeatureфлаги QGeoServiceProvider::RoutingFeatures

Описание функций маршрутизации, поддерживаемых поставщиком геосервисов.

Константа Значение Описание
QGeoServiceProvider::NoRoutingFeatures 0 Функции маршрутизации не поддерживаются.
QGeoServiceProvider::OnlineRoutingFeature (1<<0) Поддерживается онлайн-маршрутизация.
QGeoServiceProvider::OfflineRoutingFeature (1<<1) Поддерживается оффлайн-маршрутизация.
QGeoServiceProvider::LocalizedRoutingFeature (1<<2) Поддержка возвращения маршрутов с локализованными адресами и инструкциями.
QGeoServiceProvider::RouteUpdatesFeature (1<<3) Поддержка обновления существующего маршрута на основе текущего положения.
QGeoServiceProvider::AlternativeRoutesFeature (1<<4) Поддержка возвращения альтернативных маршрутов.
QGeoServiceProvider::ExcludeAreasRoutingFeature (1<<5) Поддержка задания зон, через которые возвращаемый маршрут не должен проходить.
QGeoServiceProvider::AnyRoutingFeatures ~(0) Сопоставление поставщика геосервисов, предоставляющего любые функции маршрутизации.

Тип RoutingFeatures является типом-синонимом для QFlags<RoutingFeature>. Он хранит логическое ИЛИ сочетание значений RoutingFeature.

Документация по функциям-членам

QGeoServiceProvider::QGeoServiceProvider(const QString &providerName, const QVariantMap &parameters = QVariantMap(), bool allowExperimental = false)

Создаёт QGeoServiceProvider, у которого бэкенд имеет имя providerName, используя предоставленные parameters.

Если несколько плагинов имеют одинаковое значение providerName, будет использован плагин с наивысшей reported providerVersion().

Если allowExperimental имеет значение true, то могут использоваться плагины, помеченные как экспериментальные. По умолчанию экспериментальные плагины не учитываются.

Если не удалось загрузить плагин, соответствующий providerName, то error() и errorString() предоставят подробности о причинах.

Примечание: Перед тем, как список параметров передается загружаемому плагину поставщика, список отфильтровывается, чтобы избежать совместного использования параметров, специфичных для плагина, с не связанными плагинами поставщиков. Ключи параметров, специфичных для плагина, должны быть префиксрованы именем поставщика (например, here.app_id).

[virtual] QGeoServiceProvider::~QGeoServiceProvider()

Уничтожает объект поставщика сервиса.

[static] QStringList QGeoServiceProvider::availableServiceProviders()

Возвращает список имён доступных поставщиков сервисов, для использования с конструкторами QGeoServiceProvider.

QGeoServiceProvider::Error QGeoServiceProvider::error() const

Возвращает код ошибки, описывающий ошибку, которая произошла во время последней операции, выполненной этим классом.

QString QGeoServiceProvider::errorString() const

Возвращает строку, описывающую ошибку, которая произошла во время последней операции, выполненной этим классом.

QGeoServiceProvider::Error QGeoServiceProvider::geocodingError() const

Возвращает код ошибки, описывающий ошибку, которая произошла во время последней попытки создания менеджера геокодирования.

Эта функция была добавлена в Qt 5.13.

QString QGeoServiceProvider::geocodingErrorString() const

Возвращает строку, описывающую ошибку, которая произошла во время последней попытки создания менеджера геокодирования.

Эта функция была добавлена в Qt 5.13.

QGeoServiceProvider::GeocodingFeatures QGeoServiceProvider::geocodingFeatures() const

Возвращает функции геокодирования, поддерживаемые поставщиком геосервиса.

QGeoCodingManager *QGeoServiceProvider::geocodingManager() const

Возвращает QGeoCodingManager, предоставленный поставщиком сервиса.

Эта функция вернёт 0, если поставщик сервиса не предоставляет геокодирование.

Эта функция попытается создать экземпляр QGeoCodingManager при первом вызове. Если попытка окажется успешной, QGeoCodingManager будет кэширован; в противном случае каждый вызов этой функции будет пытаться создать экземпляр QGeoCodingManager, пока попытка не увенчается успехом.

QGeoCodingManager принадлежит этому QGeoServiceProvider и не должен удаляться отдельно. Пользователи должны понимать, что удаление QGeoServiceProvider делает указатель, возвращаемый этим методом, недействительным.

После вызова этой функции error() и errorString() будут сообщать об любых ошибках, возникших во время создания QGeoCodingManager.

QGeoServiceProvider::Error QGeoServiceProvider::mappingError() const

Возвращает код ошибки, описывающий ошибку, которая произошла во время последней попытки создания менеджера отображения.

Эта функция была добавлена в Qt 5.13.

QString QGeoServiceProvider::mappingErrorString() const

Возвращает строку, описывающую ошибку, которая произошла во время последней попытки создания менеджера отображения.

Эта функция была добавлена в Qt 5.13.

QGeoServiceProvider::MappingFeatures QGeoServiceProvider::mappingFeatures() const

Возвращает функции отображения, поддерживаемые поставщиком геосервиса.

QGeoServiceProvider::Error QGeoServiceProvider::navigationError() const

Возвращает код ошибки, описывающий ошибку, которая произошла во время последней попытки создания менеджера навигации.

Эта функция была добавлена в Qt 5.13.

QString QGeoServiceProvider::navigationErrorString() const

Возвращает строку, описывающую ошибку, которая произошла во время последней попытки создания менеджера навигации.

Эта функция была добавлена в Qt 5.13.

QGeoServiceProvider::NavigationFeatures QGeoServiceProvider::navigationFeatures() const

Возвращает функции навигации, поддерживаемые поставщиком геосервиса.

Эта функция была добавлена в QtLocation 5.11.

QNavigationManager *QGeoServiceProvider::navigationManager() const

Возвращает новый QNavigationManager, предоставленный поставщиком сервиса.

После вызова этой функции error() и errorString() будут сообщать об ошибках, возникших при создании QNavigationManagerEngine.

QPlaceManager *QGeoServiceProvider::placeManager() const

Возвращает QPlaceManager, предоставленный поставщиком сервиса.

Эта функция попытается создать экземпляр QPlaceManager при первом вызове. Если попытка окажется успешной, QPlaceManager будет кэширован; в противном случае каждый вызов этой функции будет пытаться создать экземпляр QPlace до тех пор, пока попытка не увенчается успехом.

QGeoPlaceManager принадлежит этому QGeoServiceProvider и не должен удаляться отдельно. Пользователи должны понимать, что удаление QGeoServiceProvider делает указатель, возвращаемый этим методом, недействительным.

После вызова этой функции error() и errorString() будут сообщать об любых ошибках, возникших во время создания QPlaceManager.

QGeoServiceProvider::Error QGeoServiceProvider::placesError() const

Возвращает код ошибки, описывающий ошибку, которая произошла во время последней попытки создания менеджера мест.

Эта функция была добавлена в Qt 5.13.

QString QGeoServiceProvider::placesErrorString() const

Возвращает строку, описывающую ошибку, которая произошла во время последней попытки создания менеджера мест.

Эта функция была добавлена в Qt 5.13.

QGeoServiceProvider::PlacesFeatures QGeoServiceProvider::placesFeatures() const

Возвращает функции мест, поддерживаемые поставщиком геосервиса.

QGeoServiceProvider::Error QGeoServiceProvider::routingError() const

Возвращает код ошибки, описывающий ошибку, которая произошла во время последней попытки создания менеджера маршрутизации.

Эта функция была добавлена в Qt 5.13.

QString QGeoServiceProvider::routingErrorString() const

Возвращает строку, описывающую ошибку, которая произошла во время последней попытки создания менеджера маршрутизации.

Эта функция была добавлена в Qt 5.13.

QGeoServiceProvider::RoutingFeatures QGeoServiceProvider::routingFeatures() const

Возвращает функции маршрутизации, поддерживаемые поставщиком геосервиса.

QGeoRoutingManager *QGeoServiceProvider::routingManager() const

Возвращает QGeoRoutingManager, предоставленный поставщиком сервиса.

Эта функция вернёт 0, если поставщик сервиса не предоставляет геосервисы маршрутизации.

Эта функция попытается создать экземпляр QGeoRoutingManager при первом вызове. Если попытка окажется успешной, QGeoRoutingManager будет кэширован; в противном случае каждый вызов этой функции будет пытаться создать экземпляр QGeoRoutingManager до тех пор, пока попытка не увенчается успехом.

QGeoRoutingManager принадлежит этому QGeoServiceProvider и не должен удаляться отдельно. Пользователи должны понимать, что удаление QGeoServiceProvider делает указатель, возвращаемый этим методом, недействительным.

После вызова этой функции error() и errorString() будут сообщать об любых ошибках, возникших во время создания QGeoRoutingManager.

void QGeoServiceProvider::setAllowExperimental(bool allow)

Устанавливает, учитываются ли экспериментальные плагины при поиске правильной библиотеки плагина для этого поставщика сервиса в значение allow.

Важно: это уничтожит все существующие менеджеры, удерживаемые этим экземпляром поставщика услуг. Не пытайтесь использовать указатели, полученные ранее после вызова этого метода.

void QGeoServiceProvider::setLocale(const QLocale &locale)

Устанавливает используемый этим поставщиком услуг язык locale. Если соответствующие функции (см. LocalizedMappingFeature и т. д.), это изменит языки, единицы измерения и другие локально-зависимые атрибуты данных поставщика.

void QGeoServiceProvider::setParameters(const QVariantMap &parameters)

Устанавливает параметры, используемые для построения отдельных классов менеджеров для этого поставщика услуг, в parameters.

Перед передачей списка parameters загружаемому поставщику услуг список фильтруется, чтобы избежать обмена параметрами, специфичными для поставщика, с несвязанными поставщиками услуг. Параметры, специфичные для поставщика, должны иметь префикс с именем поставщика (например, here.app_id).

Важно: это уничтожит все существующие менеджеры, удерживаемые этим экземпляром поставщика услуг. Не пытайтесь использовать указатели, полученные ранее после вызова этого метода.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qgeoserviceprovider.html

Spec-Zone.ru

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