Класс QGeoCodingManager
Класс QGeoCodingManager предоставляет поддержку операций геокодирования. Подробнее...
| Заголовок: | #include <QGeoCodingManager> |
| qmake: | QT += location |
| С момента: | Qt 5.6 |
| Наследует: | QObject |
Этот класс был представлен в Qt 5.6.
Открытые функции
| virtual | ~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) |
Сигналы
| void | error(QGeoCodeReply *reply, QGeoCodeReply::Error error, QString errorString = QString()) |
| void | finished(QGeoCodeReply *reply) |
Подробное описание
Функции geocode() и reverseGeocode() возвращают объекты QGeoCodeReply, которые управляют этими операциями и сообщают о результате операций и любых возникших ошибках.
Функции geocode() и reverseGeocode() могут использоваться для преобразования экземпляров QGeoAddress в экземпляры QGeoCoordinate и наоборот.
Функция geocode() также перегружена, чтобы позволить пользователю выполнить операцию геокодирования свободного текста; если предоставленная строка может быть интерпретирована как адрес, она может быть геокодирована в информацию о координатах.
К экземплярам QGeoCodingManager можно получить доступ с помощью QGeoServiceProvider::geocodingManager().
Документация по членам-функциям
[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() вместо этого.
[virtual] QGeoCodingManager::~QGeoCodingManager()
Удаляет этот менеджер.
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.13/qgeocodingmanager.html