Класс QGeoCodeReply
Класс QGeoCodeReply управляет операцией, запущенной экземпляром класса QGeoCodingManager. Подробнее...
| Заголовок: | #include <QGeoCodeReply> |
| qmake: | QT += location |
| С момента: | Qt 5.6 |
| Наследуется от: | QObject |
Типы публичного интерфейса
| Перечисление | Ошибка { НетОшибок, ОшибкаНеУстановленногоДвигателя, ОшибкаКоммуникации, ОшибкаРазбора, ..., НеизвестнаяОшибка } |
Функции публичного интерфейса
| QGeoCodeReply(Ошибка error, const QString &errorString, QObject *parent = nullptr) | |
| виртуальный | ~QGeoCodeReply() |
| виртуальный void | abort() |
| Ошибка | error() const |
| QString | errorString() const |
| bool | isFinished() const |
| int | limit() const |
| QList<QGeoLocation> | locations() const |
| int | offset() const |
| QGeoShape | viewport() const |
- 34 функций публичного интерфейса унаследовано от QObject
Сигналы
| void | aborted() |
| void | error(Ошибка error, const QString &errorString = QString()) |
| void | finished() |
- 2 сигнала унаследовано от QObject
Защищенные функции
| QGeoCodeReply(QObject *parent = nullptr) | |
| void | addLocation(const QGeoLocation &location) |
| void | setError(Ошибка 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
Дополнительные унаследованные члены
- 1 свойство унаследовано от QObject
- 1 слот публичного интерфейса унаследован от QObject
- 1 переменная публичного интерфейса унаследована от QObject
- 10 статические члены публичного интерфейса унаследованы от QObject
- 2 защищенные переменные унаследованы от QObject
Подробное описание
Класс QGeoCodeReply управляет операцией, запущенной экземпляром класса QGeoCodingManager.
Экземпляры класса QGeoCodeReply управляют состоянием и результатами этих операций.
Методы isFinished(), error() и errorString() предоставляют информацию о завершении операции и успешном ли ее завершении.
Сигналы finished() и error(Ошибка,QString) могут быть использованы для мониторинга прогресса операции.
Возможна ситуация, когда недавно созданный экземпляр QGeoCodeReply может находиться в состоянии завершения, чаще всего из-за возникновения ошибки. Поскольку такой экземпляр никогда не будет излучать сигналы finished() или error(Ошибка,QString), важно проверить результат isFinished() перед подключением к этим сигналам. Документация для QGeoCodingManager демонстрирует, как это может быть реализовано.
Если операция завершена успешно, результаты можно получить с помощью locations().
Документация по типам членов
Перечисление QGeoCodeReply::Ошибка
Описывает ошибку, которая помешала завершению операции.
| Постоянная | Значение | Описание |
|---|---|---|
QGeoCodeReply::NoError |
0 |
Ошибка не произошла. |
QGeoCodeReply::EngineNotSetError |
1 |
У управляющего геокодированием не было связанного с ним экземпляра QGeoCodingManagerEngine. |
QGeoCodeReply::CommunicationError |
2 |
Во время взаимодействия с поставщиком услуг произошла ошибка. |
QGeoCodeReply::ParseError |
3 |
Ответ от поставщика услуг имел нераспознаваемый формат. |
QGeoCodeReply::UnsupportedOptionError |
4 |
Запрошенная операция или один из параметров операции не поддерживается поставщиком услуг. |
QGeoCodeReply::CombinationError |
5 |
При объединении результатов из нескольких источников произошла ошибка. |
QGeoCodeReply::UnknownError |
6 |
Произошла ошибка, не входящая ни в одну из других категорий. |
Документация по функциям членов
QGeoCodeReply::QGeoCodeReply(Ошибка 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 истинно, это вызовет излучение сигнала 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/archives/qt-5.11/qgeocodereply.html