Spec-Zone.ru › Qt 5.14

Класс QGeoServiceProvider

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

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

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

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

Типы public

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

Public Функции

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

Статические public члены

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.14/qgeoserviceprovider.html

Spec-Zone.ru

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