Класс QGeoServiceProvider
Класс QGeoServiceProvider агрегирует доступ к службам, предоставляющим географическую информацию. Подробнее...
| Заголовок: | #include <QGeoServiceProvider> |
| qmake: | QT += location |
| С момента: | Qt 5.6 |
| Наследуется от: | QObject |
Этот класс был представлен в Qt 5.6.
Открытые типы
| перечисление | Ошибка { НетОшибок, ОшибкаНеПоддерживается, ОшибкаНеизвестногоПараметра, ОшибкаОтсутствующегоОбязательногоПараметра, ОшибкаПодключения, ОшибкаЗагрузчика } |
| перечисление | ФункцияГеокодирования { НетФункцийГеокодирования, ФункцияГеокодированияОнлайн, ФункцияГеокодированияОфлайн, ФункцияОбратногоГеокодирования, ФункцияЛокализованногоГеокодирования, ЛюбыеФункцииГеокодирования } |
| флаги | ФункцииГеокодирования |
| перечисление | ФункцияКартографирования { НетФункцийКартографирования, ФункцияКартографированияОнлайн, ФункцияКартографированияОфлайн, ФункцияЛокализованногоКартографирования, ЛюбыеФункцииКартографирования } |
| флаги | ФункцииКартографирования |
| перечисление | ФункцияНавигации { НетФункцийНавигации, ФункцияНавигацииОнлайн, ФункцияНавигацииОфлайн, ЛюбыеФункцииНавигации } |
| флаги | ФункцииНавигации |
| перечисление | ФункцияМест { НетФункцийМест, ФункцияМестОнлайн, ФункцияМестОфлайн, ФункцияСохраненияМеста, ..., ЛюбыеФункцииМест } |
| флаги | ФункцииМест |
| перечисление | ФункцияМаршрутизации { НетФункцийМаршрутизации, ФункцияМаршрутизацииОнлайн, ФункцияМаршрутизацииОфлайн, ФункцияЛокализованнойМаршрутизации, ..., ЛюбыеФункцииМаршрутизации } |
| флаги | ФункцииМаршрутизации |
Открытые функции
| QGeoServiceProvider(const QString &providerName, const QVariantMap ¶meters = QVariantMap(), bool allowExperimental = false) | |
| virtual | ~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>. Он хранит логическое ИЛИ сочетание значений 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>. Он хранит логическое ИЛИ сочетание значений MappingFeature.
enum QGeoServiceProvider::NavigationFeatureflags QGeoServiceProvider::NavigationFeatures
Описание функций навигации, поддерживаемых поставщиком геосервисов.
| Константа | Значение | Описание |
|---|---|---|
QGeoServiceProvider::NoNavigationFeatures |
0 |
Функции навигации не поддерживаются. |
QGeoServiceProvider::OnlineNavigationFeature |
(1<<0) |
Поддерживается онлайн-навигация. |
QGeoServiceProvider::OfflineNavigationFeature |
(1<<1) |
Поддерживается офлайн-навигация. |
QGeoServiceProvider::AnyNavigationFeatures |
~(0) |
Соответствует поставщику геосервиса, предоставляющему любые функции навигации. |
Тип NavigationFeatures — это typedef для QFlags<NavigationFeature>. Он хранит логическое ИЛИ сочетание значений NavigationFeature.
enum QGeoServiceProvider::PlacesFeatureflags 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 — это typedef для QFlags<PlacesFeature>. Он хранит логическое ИЛИ сочетание значений PlacesFeature.
enum QGeoServiceProvider::RoutingFeatureflags 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 — это typedef для QFlags<RoutingFeature>. Он хранит логическое ИЛИ сочетание значений RoutingFeature.
Документация по функциям-членам
QGeoServiceProvider::QGeoServiceProvider(const QString &providerName, const QVariantMap ¶meters = 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 ¶meters)
Устанавливает параметры, используемые для построения отдельных классов менеджеров для этого поставщика услуг, в 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.13/qgeoserviceprovider.html