Spec-Zone.ru › Qt 5.9

Класс QGeoCodingManagerEngine

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

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

Открытые функции

QGeoCodingManagerEngine(const QVariantMap &parameters, QObject *parent = Q_NULLPTR)
виртуальный ~QGeoCodingManagerEngine()
виртуальный QGeoCodeReply * geocode(const QGeoAddress &address, const QGeoShape &bounds)
виртуальный QGeoCodeReply * geocode(const QString &address, int limit, int offset, const QGeoShape &bounds)
QLocale locale() const
QString managerName() const
int managerVersion() const
виртуальный QGeoCodeReply * reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds)
void setLocale(const QLocale &locale)
  • 32 открытых функций, унаследованных от QObject

Сигналы

void error(QGeoCodeReply *reply, QGeoCodeReply::Error error, QString errorString = QString())
void finished(QGeoCodeReply *reply)
  • 2 сигнала, унаследованных от QObject

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

  • 1 свойство, унаследованное от QObject
  • 1 открытый слот, унаследованный от QObject
  • 11 статических открытых членов, унаследованных от QObject
  • 9 защищенных функций, унаследованных от QObject

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

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

В реализации по умолчанию, методы supportsGeocoding() и supportsReverseGeocoding() возвращают false, а geocode() и reverseGeocode() вызывают QGeoCodeReply::UnsupportedOptionError.

Если поставщик услуг поддерживает геокодирование, подкласс должен реализовать метод geocode() и вызвать setSupportsGeocoding(true) в какой-то момент до вызова geocode().

Аналогично, если поставщик услуг поддерживает обратное геокодирование, подкласс должен реализовать метод reverseGeocode() и вызвать setSupportsReverseGeocoding(true) в какой-то момент до вызова reverseGeocode().

Подкласс QGeoCodingManagerEngine часто использует подкласс QGeoCodeReply для добавления данных, специфичных для движка (таких как объект QNetworkReply для сетевых служб), к экземплярам QGeoCodeReply, используемым движком.

См. также QGeoCodingManager.

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

QGeoCodingManagerEngine::QGeoCodingManagerEngine(const QVariantMap &parameters, QObject *parent = Q_NULLPTR)

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

[virtual] QGeoCodingManagerEngine::~QGeoCodingManagerEngine()

Удаляет этот движок.

[signal] void QGeoCodingManagerEngine::error(QGeoCodeReply *reply, QGeoCodeReply::Error error, QString errorString = QString())

Этот сигнал излучается, когда в обработке reply обнаружена ошибка. Сигнал QGeoCodingManagerEngine::finished() , вероятно, последует.

Ошибка будет описана кодом ошибки error. Если errorString не пустая, она будет содержать текстовое описание ошибки.

Этот сигнал и QGeoCodeReply::error() будут излучаться одновременно.

Примечание: Не удаляйте объект reply в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.

[signal] void QGeoCodingManagerEngine::finished(QGeoCodeReply *reply)

Этот сигнал излучается, когда обработка reply завершена.

Если reply::error() равно QGeoCodeReply::NoError, то обработка завершилась успешно.

Этот сигнал и QGeoCodeReply::finished() будут излучаться одновременно.

Примечание: Не удаляйте объект reply в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.

[virtual] QGeoCodeReply *QGeoCodingManagerEngine::geocode(const QGeoAddress &address, const QGeoShape &bounds)

Начинает геокодирование address. Геокодирование — это процесс нахождения координат, соответствующих заданному адресу.

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

Этот движок и возвращенный объект QGeoCodeReply будут излучать сигналы, указывающие, завершается ли операция или возникают ли ошибки.

Если supportsGeocoding() возвращает false, произойдет QGeoCodeReply::UnsupportedOptionError.

После завершения операции, QGeoCodeReply::locations() можно использовать для получения результатов, которые будут состоять из списка объектов QGeoLocation. Эти объекты представляют собой комбинацию данных о координатах и адресе.

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

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

Пользователь несет ответственность за удаление возвращенного объекта reply, хотя это можно сделать в слоте, подключенном к QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::error(), QGeoCodeReply::finished() или QGeoCodeReply::error() с помощью deleteLater().

[virtual] QGeoCodeReply *QGeoCodingManagerEngine::geocode(const QString &address, int limit, int offset, const QGeoShape &bounds)

Начинает геокодирование для местоположения, соответствующего address.

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

Этот движок и возвращенный объект QGeoCodeReply будут излучать сигналы, указывающие, завершается ли операция или возникают ли ошибки.

После завершения операции, метод QGeoCodeReply::locations() можно использовать для получения результатов, которые будут представлять собой список объектов QGeoLocation. Эти объекты представляют собой комбинацию координат и данных адреса.

Если limit имеет значение -1, будет возвращен весь набор результатов, в противном случае будет возвращено не более limit результатов.

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

Результаты limit и offset используются вместе для реализации постраничной навигации.

Если bounds не равно нулю и является допустимым объектом QGeoShape, он будет использован для ограничения результатов теми, которые содержатся в bounds.

Пользователь несет ответственность за удаление возвращенного объекта ответа, хотя это можно сделать в слоте, подключенном к сигналам QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::error(), QGeoCodeReply::finished() или QGeoCodeReply::error() с использованием метода deleteLater().

QLocale QGeoCodingManagerEngine::locale() const

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

См. также setLocale().

QString QGeoCodingManagerEngine::managerName() const

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

Сочетание managerName() и managerVersion() должно быть уникальным для всех реализаций плагинов.

int QGeoCodingManagerEngine::managerVersion() const

Возвращает версию этой реализации движка.

Сочетание managerName() и managerVersion() должно быть уникальным для всех реализаций плагинов.

[virtual] QGeoCodeReply *QGeoCodingManagerEngine::reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds)

Начинает обратное геокодирование координаты coordinate. Обратное геокодирование — это процесс поиска адреса, соответствующего заданным координатам.

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

Этот движок и возвращенный объект QGeoCodeReply будут генерировать сигналы, указывающие на завершение операции или возникновение ошибок.

Если метод supportsReverseGeocoding() возвращает false, произойдет ошибка QGeoCodeReply::UnsupportedOptionError.

В этот момент метод QGeoCodeReply::locations() можно использовать для получения результатов, которые будут представлять собой список объектов QGeoLocation. Эти объекты представляют собой комбинацию координат и данных адреса.

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

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

Если bounds не равно нулю и является допустимым объектом QGeoShape, он будет использован для ограничения результатов теми, которые содержатся в bounds.

Пользователь несет ответственность за удаление возвращенного объекта ответа, хотя это можно сделать в слоте, подключенном к сигналам QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::error(), QGeoCodeReply::finished() или QGeoCodeReply::error() с использованием метода deleteLater().

void QGeoCodingManagerEngine::setLocale(const QLocale &locale)

Устанавливает локаль, используемую этим менеджером, в locale.

Если этот геокодирующий менеджер поддерживает возвращение результатов на разных языках, они будут возвращены на языке locale.

Если локаль не установлена, используется системная локаль по умолчанию.

См. также locale().

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

Spec-Zone.ru

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