Класс QGeoCodeReply
Класс QGeoCodeReply управляет операцией, запущенной экземпляром QGeoCodingManager. Подробнее...
| Заголовок: | #include <QGeoCodeReply> |
| qmake: | QT += location |
| С момента: | Qt 5.6 |
| Наследует: | QObject |
Открытые типы
| перечисление | Error { НетОшибки, ОшибкаНеУстановленДвигатель, ОшибкаКоммуникации, ОшибкаПарсинга, ..., НеизвестнаяОшибка } |
Открытые функции
| QGeoCodeReply(QGeoCodeReply::Error error, const QString &errorString, QObject *parent = nullptr) | |
| виртуальный | ~QGeoCodeReply() |
| виртуальный void | abort() |
| QGeoCodeReply::Error | error() const |
| QString | errorString() const |
| bool | isFinished() const |
| int | limit() const |
| QList<QGeoLocation> | locations() const |
| int | offset() const |
| QGeoShape | viewport() const |
- 31 открытых функций, унаследованных от QObject
Сигналы
| void | aborted() |
| void | error(QGeoCodeReply::Error error, const QString &errorString = QString()) |
| void | finished() |
- 2 сигнала, унаследованные от QObject
Статические открытые члены
| const QMetaObject | staticMetaObject |
- 9 статических открытых членов, унаследованных от QObject
Защищенные функции
| QGeoCodeReply(QObject *parent = nullptr) | |
| void | addLocation(const QGeoLocation &location) |
| void | setError(QGeoCodeReply::Error error, const QString &errorString) |
| void | setFinished(bool finished) |
| void | setLimit(int limit) |
| void | setLocations(const QList<QGeoLocation> &locations) |
| void | setOffset(int offset) |
| void | setViewport(const QGeoShape &viewport) |
- 9 защищенных функций, унаследованных от QObject
Дополнительные унаследованные члены
Подробное описание
Класс QGeoCodeReply управляет операцией, запущенной экземпляром QGeoCodingManager.
Экземпляры класса QGeoCodeReply управляют состоянием и результатами этих операций.
Методы isFinished(), error() и errorString() предоставляют информацию о завершении операции и ее успешном выполнении.
Сигналы finished() и error(QGeoCodeReply::Error,QString) могут использоваться для мониторинга прогресса операции.
Возможен случай, когда недавно созданный QGeoCodeReply может находиться в завершенном состоянии, чаще всего из-за возникшей ошибки. Поскольку такой экземпляр никогда не отправит сигналы finished() или error(QGeoCodeReply::Error,QString), важно проверить результат isFinished() перед подключением к сигналам. Документация QGeoCodingManager демонстрирует, как это можно реализовать.
Если операция выполняется успешно, результаты можно получить с помощью locations().
Документация типов членов
перечисление QGeoCodeReply::Error
Описание ошибки, которая помешала завершению операции.
| Постоянная | Значение | Описание |
|---|---|---|
QGeoCodeReply::NoError |
0 |
Ошибка не возникла. |
QGeoCodeReply::EngineNotSetError |
1 |
У менеджера геокодирования не было связанного экземпляра QGeoCodingManagerEngine. |
QGeoCodeReply::CommunicationError |
2 |
Во время общения с поставщиком услуг произошла ошибка. |
QGeoCodeReply::ParseError |
3 |
Ответ от поставщика услуг имел нераспознаваемый формат. |
QGeoCodeReply::UnsupportedOptionError |
4 |
Запрошенная операция или один из параметров операции не поддерживаются поставщиком услуг. |
QGeoCodeReply::CombinationError |
5 |
Во время объединения результатов из нескольких источников произошла ошибка. |
QGeoCodeReply::UnknownError |
6 |
Произошла ошибка, которая не попадает ни в одну из других категорий. |
Документация функций членов
QGeoCodeReply::QGeoCodeReply(QGeoCodeReply::Error error, const QString &errorString, QObject *parent = nullptr)
Создает ответ о геокодировании с заданной ошибкой и ошибочной строкой и указанным родителем.
[protected] QGeoCodeReply::QGeoCodeReply(QObject *parent = nullptr)
Создает ответ о геокодировании со указанным родителем.
[virtual] QGeoCodeReply::~QGeoCodeReply()
Удаляет объект ответа.
[virtual] void QGeoCodeReply::abort()
Немедленно отменяет операцию.
Это ничего не сделает, если ответ завершен.
См. также aborted().
[signal] void QGeoCodeReply::aborted()
Этот сигнал излучается, когда операция была отменена.
Эта функция была представлена в Qt 5.9.
См. также abort().
[protected] void QGeoCodeReply::addLocation(const QGeoLocation &location)
Добавляет location в список местоположений в этом ответе.
QGeoCodeReply::Error QGeoCodeReply::error() const
Возвращает состояние ошибки этого ответа.
Если результат равен QGeoCodeReply::NoError, то ошибка не произошла.
См. также setError().
[signal] void QGeoCodeReply::error(QGeoCodeReply::Error error, const QString &errorString = QString())
Этот сигнал подаётся, когда в обработке этого ответа была обнаружена ошибка. Скорее всего, последует сигнал finished().
Ошибка будет описана кодом ошибки error. Если errorString не пуста, она будет содержать текстовое описание ошибки.
Этот сигнал и QGeoCodingManager::error() будут поданы одновременно.
Примечание: Не удаляйте этот объект ответа в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.
Примечание: Сигнал error перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную функцию получения указателя на функцию, как показано в этом примере:
connect(geoCodeReply, QOverload<QGeoCodeReply::Error, const QString &>::of(&QGeoCodeReply::error),
[=](QGeoCodeReply::Error error, const QString &errorString){ /* ... */ }); QString QGeoCodeReply::errorString() const
Возвращает текстовое представление состояния ошибки этого ответа.
Если ошибка не произошла, будет возвращена пустая строка. Возможно, произошла ошибка, для которой нет связанного текстового представления, в этом случае также будет возвращена пустая строка.
Чтобы определить, произошла ли ошибка, проверьте, равен ли QGeoCodeReply::error() QGeoCodeReply::NoError.
[signal] void QGeoCodeReply::finished()
Этот сигнал подаётся, когда обработка этого ответа завершена.
Если error() равно QGeoCodeReply::NoError, то обработка завершилась успешно.
Этот сигнал и QGeoCodingManager::finished() будут поданы одновременно.
Примечание: Не удаляйте этот объект ответа в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.
См. также setFinished().
bool QGeoCodeReply::isFinished() const
Возвращает true, если операция завершилась успешно или произошла ошибка, которая привела к остановке операции.
int QGeoCodeReply::limit() const
Возвращает ограничение на количество ответов от каждого источника данных.
Если ограничение не было установлено, функция вернёт -1.
Это может быть больше, чем locations().length(), если количество ответов было меньше запрошенного.
См. также setLimit().
QList<QGeoLocation> QGeoCodeReply::locations() const
Возвращает список местоположений.
Местоположения являются результатом операции, соответствующей функции QGeoCodingManager, которая создала этот ответ.
См. также setLocations().
int QGeoCodeReply::offset() const
Возвращает смещение в полном наборе результатов, с которого следует начать извлечение результатов.
См. также setOffset().
[protected] void QGeoCodeReply::setError(QGeoCodeReply::Error error, const QString &errorString)
Устанавливает состояние ошибки этого ответа в error, а текстовое представление ошибки в errorString.
Это также вызовет сигнала error() и finished(), в указанном порядке.
См. также error().
[protected] void QGeoCodeReply::setFinished(bool finished)
Устанавливает, завершён ли этот ответ, в значение finished.
Если finished равно true, это вызовет подачу сигнала finished().
Если операция завершилась успешно, следует вызвать QGeoCodeReply::setLocations() перед этой функцией. Если произошла ошибка, следует использовать QGeoCodeReply::setError().
См. также finished().
[protected] void QGeoCodeReply::setLimit(int limit)
Устанавливает ограничение на количество ответов от каждого источника данных в значение limit.
Если limit равно -1, будут возвращены все доступные ответы.
См. также limit().
[protected] void QGeoCodeReply::setLocations(const QList<QGeoLocation> &locations)
Устанавливает список locations в ответе.
См. также locations().
[protected] void QGeoCodeReply::setOffset(int offset)
Устанавливает смещение в полном наборе результатов, с которого следует начать извлечение результатов, в значение offset.
См. также offset().
[protected] void QGeoCodeReply::setViewport(const QGeoShape &viewport)
Устанавливает область просмотра, содержащую результаты, в значение viewport.
См. также viewport().
QGeoShape QGeoCodeReply::viewport() const
Возвращает область просмотра, содержащую результаты.
Эта функция вернёт 0, если в функции QGeoCodingManager, которая создала этот ответ, не был указан сдвиг по области просмотра.
См. также setViewport().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.12/qgeocodereply.html