Класс QGeoServiceProvider
Класс QGeoServiceProvider агрегирует доступ к службам, предоставляющим географическую информацию. Подробнее...
| Заголовок: | #include <QGeoServiceProvider> |
| qmake: | QT += location |
| С момента: | Qt 5.6 |
| Наследует: | QObject |
Открытые типы
| перечисление | Ошибка { НетОшибки, ОшибкаНеПоддерживается, ОшибкаНеизвестногоПараметра, ОшибкаОтсутствияНеобходимогоПараметра, ОшибкаПодключения } |
| перечисление | Геокодирование { НетГеокодирования, ОнлайнГеокодирование, ОффлайнГеокодирование, ОбратноеГеокодирование, ЛокализованноеГеокодирование, ЛюбыеГеокодирования } |
| флаги | Геокодирование |
| перечисление | Функции Картирования { НетФункцийКартирования, ОнлайнКартирование, ОффлайнКартирование, ЛокализованноеКартирование, ЛюбыеФункцииКартирования } |
| флаги | Функции Картирования |
| перечисление | Функции Мест { НетФункцийМест, ОнлайнФункцииМест, ОффлайнФункцииМест, СохранениеМеста, ..., ЛюбыеФункцииМест } |
| флаги | Функции Мест |
| перечисление | Функции Маршрутизации { НетФункцийМаршрутизации, ОнлайнМаршрутизация, ОффлайнМаршрутизация, ЛокализованнаяМаршрутизация, ..., ЛюбыеФункцииМаршрутизации } |
| флаги | Функции Маршрутизации |
Открытые функции
| QGeoServiceProvider(const QString &providerName, const QVariantMap ¶meters = QVariantMap(), bool allowExperimental = false) | |
| ~QGeoServiceProvider() | |
| Ошибка | ошибка() const |
| QString | описаниеОшибки() const |
| GeocodingFeatures | геокодированиеФункции() const |
| QGeoCodingManager * | геокодированиеМенеджер() const |
| MappingFeatures | картографированиеФункции() const |
| QPlaceManager * | менеджерМест() const |
| PlacesFeatures | функцииМест() const |
| RoutingFeatures | маршрутизацияФункции() const |
| QGeoRoutingManager * | менеджерМаршрутизации() const |
| void | установитьРазрешитьЭкспериментальное(bool allow) |
| void | установитьЛокаль(const QLocale &locale) |
| void | установитьПараметры(const QVariantMap ¶meters) |
- 31 открытых функций унаследованных от QObject
Статические открытые члены
| QStringList | доступныеСлужбы() |
- 11 статических открытых членов унаследованных от QObject
Дополнительные унаследованные члены
- 1 свойство унаследованное от QObject
- 1 открытый слот унаследованный от QObject
- 2 сигналы унаследованные от QObject
- 9 защищенных функций унаследованных от QObject
Подробное описание
Класс QGeoServiceProvider агрегирует доступ к службам, предоставляющим географическую информацию.
API карт и навигации позволяет пользователям получать доступ к различного рода географической информации, включая функциональность геокодирования, маршрутизации и отображения карт. Класс QGeoServiceProvider агрегирует доступ к набору этих служб, предоставляемых одним поставщиком.
Возможна комбинация поставщиков услуг для различных областей, так что геокодирование менеджер от одного поставщика может быть использован с географическим менеджером маршрутизации от другого поставщика.
Это не рекомендуется, если клиент не может проверить совместимость данных, предоставляемых разными службами, так как различия в базовых наборах данных могут привести к серьезным несоответствиям между службами.
Подклассы QGeoServiceProvider гарантируют совместимость предоставляемых ими различных услуг.
В настоящее время существуют два плагина GeoServices, входящих в состав Qt. К ним можно получить доступ, используя их имена поставщиков:
- "mapbox" -> Служба Mapbox
- "here" -> Службы HERE
- "osm" -> Службы OpenStreetMap
Каждый поставщик услуг должен следовать соглашению об именовании для имен/ключей параметров специфичных для услуги. Они используют имя поставщика в качестве префикса для всех имен параметров. Например, поставщик услуг 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::Геокодированиефлаги QGeoServiceProvider::Геокодирование
Описывает функции геокодирования, поддерживаемые поставщиком геослужб.
| Постоянная | Значение | Описание |
|---|---|---|
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::PlacesFeatureflags QGeoServiceProvider::PlacesFeatures
Описывает функции мест, поддерживаемые поставщиком геосервиса.
| Постоянная | Значение | Описание |
|---|---|---|
QGeoServiceProvider::NoPlacesFeatures |
0 |
Функции мест не поддерживаются. |
QGeoServiceProvider::OnlinePlacesFeature |
( 1<<0 ) |
Поддерживаются онлайн-места. |
QGeoServiceProvider::OfflinePlacesFeature |
( 1<<1 ) |
Поддерживаются офлайн-места. |
Тип PlacesFeatures является псевдонимом для QFlags<PlacesFeature>. Он хранит логическое ИЛИ сочетание значений PlacesFeature.
enum QGeoServiceProvider::RoutingFeatureflags QGeoServiceProvider::RoutingFeatures
Описывает функции маршрутизации, поддерживаемые поставщиком геосервиса.
| Постоянная | Значение | Описание |
|---|---|---|
QGeoServiceProvider::NoRoutingFeatures |
0 |
Функции маршрутизации не поддерживаются. |
QGeoServiceProvider::OnlineRoutingFeature |
( 1<<0 ) |
Поддерживается онлайн-маршрутизация. |
Тип RoutingFeatures является псевдонимом для QFlags<RoutingFeature>. Он хранит логическое ИЛИ сочетание значений RoutingFeature.
Документация по функциям-членам
QGeoServiceProvider::QGeoServiceProvider(const QString &providerName, const QVariantMap ¶meters = QVariantMap(), bool allowExperimental = false)
Создаёт экземпляр QGeoServiceProvider, чья задняя часть имеет имя providerName, используя предоставленные parameters.
Если несколько плагинов имеют одинаковое providerName, используется плагин с наивысшей заявленной providerVersion().
Если allowExperimental равно true, то могут использоваться плагины, помеченные как экспериментальные. По умолчанию экспериментальные плагины не учитываются.
Если ни один плагин, соответствующий providerName, не смог загрузиться, то error() и errorString() предоставят подробную информацию о причинах.
Примечание: Перед тем, как список parameters будет передан плагину-поставщику, список фильтруется, чтобы избежать совместного использования плагин-специфичных параметров с несовместимыми плагинами-поставщиками. Ключи параметров, специфичные для плагина, должны быть префиксрованы именем поставщика (например, here.app_id).
QGeoServiceProvider::~QGeoServiceProvider()
Удаляет объект поставщика сервиса.
[static] QStringList QGeoServiceProvider::availableServiceProviders()
Возвращает список имён доступных поставщиков сервисов, для использования с конструкторами QGeoServiceProvider.
Error QGeoServiceProvider::error() const
Возвращает код ошибки, описывающий ошибку, произошедшую во время последней операции, выполненной этим классом.
QString QGeoServiceProvider::errorString() const
Возвращает строку, описывающую ошибку, произошедшую во время последней операции, выполненной этим классом.
GeocodingFeatures QGeoServiceProvider::geocodingFeatures() const
Возвращает функции геокодирования, поддерживаемые поставщиком геосервиса.
QGeoCodingManager *QGeoServiceProvider::geocodingManager() const
Возвращает QGeoCodingManager, предоставленный поставщиком сервиса.
Эта функция вернёт 0, если поставщик сервиса не предоставляет никаких геокодирующих сервисов.
Эта функция попытается создать экземпляр QGeoCodingManager, когда она вызывается в первый раз. Если попытка успешна, QGeoCodingManager будет кэширован, в противном случае каждый вызов этой функции будет пытаться создать экземпляр QGeoCodingManager до тех пор, пока создание не будет успешным.
END_OF_DOCUMENT_MARKERУправляющий QGeoCodingManager принадлежит этому QGeoServiceProvider и не должен удаляться отдельно. Пользователи должны понимать, что удаление QGeoServiceProvider делает указатель, возвращаемый этим методом, недопустимым.
После вызова этой функции error() и errorString() сообщат об ошибках, возникших во время создания QGeoCodingManager.
MappingFeatures QGeoServiceProvider::mappingFeatures() const
Возвращает поддерживаемые географическим сервисом возможности отображения.
QPlaceManager *QGeoServiceProvider::placeManager() const
Возвращает QPlaceManager, предоставленный поставщиком услуг.
Эта функция попытается создать экземпляр QPlaceManager при первом вызове. Если попытка окажется успешной, QPlaceManager будет кэширован, в противном случае каждый вызов этой функции будет пытаться создать экземпляр QPlace, пока создание не окажется успешным.
QGeoPlaceManager принадлежит этому QGeoServiceProvider и не должен удаляться отдельно. Пользователи должны понимать, что удаление QGeoServiceProvider делает указатель, возвращаемый этим методом, недопустимым.
После вызова этой функции error() и errorString() сообщат об ошибках, возникших во время создания QPlaceManager.
PlacesFeatures QGeoServiceProvider::placesFeatures() const
Возвращает поддерживаемые географическим сервисом возможности работы с местами.
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/archives/qt-5.6/qgeoserviceprovider.html