Класс QGeoCodingManager
Класс QGeoCodingManager предоставляет поддержку операций геокодирования. Подробнее...
| Заголовок: | #include <QGeoCodingManager> |
| qmake: | QT += location |
| С момента: | Qt 5.6 |
| Наследуется от: | QObject |
Открытые функции
| ~QGeoCodingManager() | |
| QGeoCodeReply * | geocode(const QGeoAddress &address, const QGeoShape &bounds = QGeoShape()) |
| QGeoCodeReply * | geocode(const QString &address, int limit = -1, int offset = 0, const QGeoShape &bounds = QGeoShape()) |
| QLocale | locale() const |
| QString | managerName() const |
| int | managerVersion() const |
| QGeoCodeReply * | reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds = QGeoShape()) |
| 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
Подробное описание
Класс QGeoCodingManager предоставляет поддержку операций геокодирования.
Функции geocode() и reverseGeocode() возвращают объекты QGeoCodeReply, которые управляют этими операциями и сообщают о результатах операций и возможных ошибках.
Функции geocode() и reverseGeocode() могут использоваться для преобразования экземпляров QGeoAddress в экземпляры QGeoCoordinate и наоборот.
Функция geocode() также перегружена, чтобы позволить пользователю выполнить операцию геокодирования по свободному тексту, если предоставленная строка может быть интерпретирована как адрес, она может быть геокодирована в координатную информацию.
К экземплярам QGeoCodingManager можно получить доступ с помощью QGeoServiceProvider::geocodingManager().
Документация по функциям-членам
QGeoCodingManager::~QGeoCodingManager()
Удаляет этот менеджер.
[signal] void QGeoCodingManager::error(QGeoCodeReply *reply, QGeoCodeReply::Error error, QString errorString = QString())
Этот сигнал испускается, когда в обработке reply была обнаружена ошибка. Сигнал QGeoCodingManager::finished() вероятно последует.
Ошибка будет описана кодом ошибки error. Если errorString не пусто, она будет содержать текстовое описание ошибки.
Этот сигнал и QGeoCodeReply::error() будут испущены одновременно.
Примечание: Не удаляйте объект reply в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.
[signal] void QGeoCodingManager::finished(QGeoCodeReply *reply)
Этот сигнал испускается, когда обработка reply завершена.
Если reply::error() равно QGeoCodeReply::NoError, то обработка завершилась успешно.
Этот сигнал и QGeoCodeReply::finished() будут испущены одновременно.
Примечание: Не удаляйте объект reply в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.
QGeoCodeReply *QGeoCodingManager::geocode(const QGeoAddress &address, const QGeoShape &bounds = QGeoShape())
Начинает геокодирование address. Геокодирование — это процесс поиска координат, соответствующих заданному адресу.
Будет возвращен объект QGeoCodeReply, который может использоваться для управления операцией геокодирования и возврата результатов операции.
Этот менеджер и возвращаемый объект QGeoCodeReply будут испускать сигналы, указывающие, завершается ли операция или возникают ошибки.
Если supportsGeocoding() возвращает false, произойдет QGeoCodeReply::UnsupportedOptionError.
После завершения операции, QGeoCodeReply::locations() можно использовать для получения результатов, которые будут состоять из списка объектов QGeoLocation. Эти объекты представляют собой комбинацию координат и данных адреса.
Данные адреса, возвращаемые в результатах, могут отличаться от address. Это обычно происходит, если сервер геокодирования использует другой канонический формат адресов или если address был заполнен только частично.
Если bounds не равен null и является допустимой QGeoShape, она будет использоваться для ограничения результатов теми, которые находятся внутри bounds. Это особенно полезно, если address заполнен только частично, так как сервис попытается геокодировать все совпадения для указанных данных.
Пользователь отвечает за удаление возвращенного объекта reply, хотя это можно сделать в слоте, подключенном к QGeoCodingManager::finished(), QGeoCodingManager::error(), QGeoCodeReply::finished() или QGeoCodeReply::error() с помощью deleteLater().
QGeoCodeReply *QGeoCodingManager::geocode(const QString &address, int limit = -1, int offset = 0, const QGeoShape &bounds = QGeoShape())
Начинает геокодирование для местоположения, соответствующего address.
Будет возвращен объект QGeoCodeReply, который может использоваться для управления операцией геокодирования и возврата результатов операции.
Этот менеджер и возвращаемый объект QGeoCodeReply будут испускать сигналы, указывающие, завершается ли операция или возникают ошибки.
После завершения операции, QGeoCodeReply::locations() можно использовать для получения результатов, которые будут состоять из списка объектов QGeoLocation. Эти объекты представляют собой комбинацию координат и данных адреса.
Если limit равно -1, будет возвращен весь результат, в противном случае будет возвращено не более limit результатов.
Параметр offset используется для того, чтобы попросить службу геокодирования не возвращать первые offset результатов.
Результаты limit и offset используются вместе для реализации постраничного отображения.
Если bounds не равен null и является допустимой QGeoShape, она будет использоваться для ограничения результатов теми, которые находятся внутри bounds.
Пользователь отвечает за удаление возвращенного объекта reply, хотя это можно сделать в слоте, подключенном к QGeoCodingManager::finished(), QGeoCodingManager::error(), QGeoCodeReply::finished() или QGeoCodeReply::error() с помощью deleteLater().
QLocale QGeoCodingManager::locale() const
Возвращает используемый язык, который подсказывает этому менеджеру геокодирования, какой язык использовать для результатов.
См. также setLocale().
QString QGeoCodingManager::managerName() const
Возвращает имя движка, который реализует поведение этого менеджера геокодирования.
Сочетание managerName() и managerVersion() должно быть уникальным среди реализаций плагинов.
int QGeoCodingManager::managerVersion() const
Возвращает версию движка, который реализует поведение этого менеджера геокодирования.
Сочетание managerName() и managerVersion() должно быть уникальным среди реализаций плагинов.
QGeoCodeReply *QGeoCodingManager::reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds = QGeoShape())
Начинает обратное геокодирование координаты coordinate. Обратное геокодирование — это процесс поиска адреса, соответствующего заданным координатам.
Будет возвращён объект QGeoCodeReply, который можно использовать для управления операцией обратного геокодирования и получения результатов операции.
Этот менеджер и возвращённый объект QGeoCodeReply будут генерировать сигналы, указывающие на завершение операции или возникновение ошибок.
Если функция supportsReverseGeocoding() возвращает false, произойдёт ошибка QGeoCodeReply::UnsupportedOptionError.
В этот момент можно использовать QGeoCodeReply::locations() для получения результатов, которые будут содержать список объектов QGeoLocation. Эти объекты представляют собой комбинацию координат и данных адреса.
Данные координат, возвращённые в результатах, могут отличаться от coordinate. Это обычно происходит, если бэкенд сервиса обратного геокодирования смещает координаты, чтобы они были ближе к соответствующим адресам, или если бэкенд возвращает результаты на нескольких уровнях детализации.
Если бэкенд сервиса обратного геокодирования возвращает несколько результатов, они будут предоставлены в порядке убывания специфичности. Это обычно происходит, если бэкенд настроен на обратное геокодирование на нескольких уровнях детализации. Например, некоторые сервисы будут возвращать пары адрес-координаты для уличного адреса, города, штата и страны.
Если bounds не равно null и является допустимым QGeoRectangle, он будет использоваться для ограничения результатов теми, которые находятся внутри bounds.
Пользователь отвечает за удаление возвращённого объекта ответа, хотя это можно сделать в слоте, подключённом к QGeoCodingManager::finished(), QGeoCodingManager::error(), QGeoCodeReply::finished() или QGeoCodeReply::error() с помощью deleteLater().
void QGeoCodingManager::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/qgeocodingmanager.html