Класс QGeoCodeReply
Класс QGeoCodeReply управляет операцией, начатой экземпляром QGeoCodingManager. Подробнее...
| Заголовок: | #include <QGeoCodeReply> |
| qmake: | QT += location |
| С момента: | Qt 5.6 |
| Наследует: | QObject |
Открытые типы
| перечисление | Error { NoError, EngineNotSetError, CommunicationError, ParseError, ..., UnknownError } |
Открытые функции
| QGeoCodeReply(Error error, const QString &errorString, QObject *parent = Q_NULLPTR) | |
| виртуальный | ~QGeoCodeReply() |
| виртуальный void | abort() |
| Error | error() const |
| QString | errorString() const |
| bool | isFinished() const |
| int | limit() const |
| QList<QGeoLocation> | locations() const |
| int | offset() const |
| QGeoShape | viewport() const |
- 32 открытых функции, унаследованные от QObject
Сигналы
| void | aborted() |
| void | error(QGeoCodeReply::Error error, const QString &errorString = QString()) |
| void | finished() |
- 2 сигнала, унаследованные от QObject
Защищённые функции
| QGeoCodeReply(QObject *parent = Q_NULLPTR) | |
| void | addLocation(const QGeoLocation &location) |
| void | setError(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
Дополнительные унаследованные члены
- 1 свойство, унаследованное от QObject
- 1 открытый слот, унаследованный от QObject
- 11 статических открытых членов, унаследованные от 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(Error error, const QString &errorString, QObject *parent = Q_NULLPTR)
Создаёт ответ геокодирования с заданной ошибкой и errorString и указанным parent.
[protected] QGeoCodeReply::QGeoCodeReply(QObject *parent = Q_NULLPTR)
Создаёт ответ геокодирования с указанным parent.
[virtual] QGeoCodeReply::~QGeoCodeReply()
Уничтожает объект ответа.
[virtual] void QGeoCodeReply::abort()
Немедленно отменяет операцию.
Это ничего не сделает, если ответ завершён.
См. также aborted().
[signal] void QGeoCodeReply::aborted()
Этот сигнал излучается, когда операция отменена.
Эта функция была введена в Qt 5.9.
См. также abort().
[protected] void QGeoCodeReply::addLocation(const QGeoLocation &location)
Добавляет location в список местоположений в этом ответе.
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(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.9/qgeocodereply.html