Класс 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) |
- 31 открытых функций, унаследованных от 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 не пуста и является допустимым 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 не пуста и является допустимым 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/archives/qt-5.6/qgeocodingmanager.html