Spec-Zone.ru › Qt 5.9

Класс QGeoServiceProvider

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

Заголовок: #include <QGeoServiceProvider>
qmake: QT += location
С момента: Qt 5.6
Наследует: QObject
  • Список всех членов, включая наследуемые

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

Перечисление Error { НетОшибок, НеПоддерживается, ОшибкаНеизвестногоПараметра, ОшибкаОтсутствияНеобходимогоПараметра, ОшибкаПодключения }
Перечисление GeocodingFeature { НетФункцийГеокодирования, ОнлайнГеокодирование, ОфлайнГеокодирование, ОбратноеГеокодирование, ЛокализованноеГеокодирование, ЛюбыеФункцииГеокодирования }
Флаги GeocodingFeatures
Перечисление MappingFeature { НетФункцийКартирования, ОнлайнКартирование, ОфлайнКартирование, ЛокализованноеКартирование, ЛюбыеФункцииКартирования }
Флаги MappingFeatures
Перечисление PlacesFeature { НетФункцийМест, ОнлайнМеста, ОфлайнМеста, СохранениеМеста, ..., ЛюбыеФункцииМест }
Флаги PlacesFeatures
Перечисление RoutingFeature { НетФункцийМаршрутизации, ОнлайнМаршрутизация, ОфлайнМаршрутизация, ЛокализованнаяМаршрутизация, ..., ЛюбыеФункцииМаршрутизации }
Флаги RoutingFeatures

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

QGeoServiceProvider(const QString &providerName, const QVariantMap &parameters = QVariantMap(), bool allowExperimental = false)
~QGeoServiceProvider()
Error error() const
QString errorString() const
GeocodingFeatures geocodingFeatures() const
QGeoCodingManager * geocodingManager() const
MappingFeatures mappingFeatures() const
QPlaceManager * placeManager() const
PlacesFeatures placesFeatures() const
RoutingFeatures routingFeatures() const
QGeoRoutingManager * routingManager() const
void setAllowExperimental(bool allow)
void setLocale(const QLocale &locale)
void setParameters(const QVariantMap &parameters)
  • 32 public functions inherited from QObject

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

QStringList availableServiceProviders()
  • 11 static public members inherited from QObject

Дополнительные наследуемые члены

  • 1 свойство, наследуемое от QObject
  • 1 public slot, наследуемый от QObject
  • 2 сигнала, наследуемые от QObject
  • 9 protected функций, наследуемых от QObject

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

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

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

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

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

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

На данный момент в Qt упакованы два плагина GeoServices. Они доступны с помощью своих имен поставщиков:

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

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

Для получения полного списка доступных имён/ключей и значений параметров см. документацию по соответствующему плагину GeoServices.

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

enum QGeoServiceProvider::Error

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

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

enum QGeoServiceProvider::GeocodingFeatureФлаги 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::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 &parameters = 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 &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.9/qgeoserviceprovider.html

Spec-Zone.ru

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