Spec-Zone.ru › Qt 5.12

Класс QGeoCodingManagerEngine

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

Подробнее...

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

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

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

Сигналы

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

Статические открытые члены

const QMetaObject staticMetaObject
  • 9 статических открытых членов, унаследованных от QObject

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

  • 1 свойство, унаследованное от QObject
  • 1 открытый слот, унаследованный от 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 = nullptr)

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

QGeoCodingManagerEngine::~QGeoCodingManagerEngine()

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

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

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

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

Этот сигнал и QGeoCodeReply::error() будут выпущены одновременно.

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

void QGeoCodingManagerEngine::finished(QGeoCodeReply *reply)

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

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

Этот сигнал и QGeoCodeReply::finished() будут выпущены одновременно.

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

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

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

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

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

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

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

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

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

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

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 не равен null и является валидным объектом 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 не равен null и является валидным объектом 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.12/qgeocodingmanagerengine.html

Spec-Zone.ru

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