Класс QGeoCodeReply
Класс QGeoCodeReply управляет операцией, начатой экземпляром QGeoCodingManager. Подробнее...
| Заголовок: | #include <QGeoCodeReply> |
| qmake: | QT += location |
| С тех пор: | Qt 5.6 |
| Наследуется от: | QObject |
Этот класс был представлен в Qt 5.6.
Типы публичного доступа
| перечисление | Ошибка { НетОшибок, ОшибкаНетДвигателя, ОшибкаСвязи, ОшибкаРазбора, ОшибкаНеПоддерживаемогоПараметра, …, НеизвестнаяОшибка } |
Функции публичного доступа
| QGeoCodeReply(QGeoCodeReply::Ошибка ошибка, const QString &описаниеОшибки, QObject *родитель = nullptr) | |
| virtual | ~QGeoCodeReply() |
| virtual void | abort() |
| QGeoCodeReply::Ошибка | ошибка() const |
| QString | описаниеОшибки() const |
| bool | завершён() const |
| int | лимит() const |
| QList<QGeoLocation> | местоположения() const |
| int | смещение() const |
| QGeoShape | областьПросмотра() const |
Сигналы
| void | отменён() |
| void | ошибка(QGeoCodeReply::Ошибка ошибка, const QString &описаниеОшибки = QString()) |
| void | завершён() |
Защищённые функции
| QGeoCodeReply(QObject *родитель = nullptr) | |
| void | добавитьМестоположение(const QGeoLocation &местоположение) |
| void | установитьОшибка(QGeoCodeReply::Ошибка ошибка, const QString &описаниеОшибки) |
| void | установитьЗавершен(bool завершён) |
| void | установитьЛимит(int лимит) |
| void | установитьМестоположения(const QList<QGeoLocation> &местоположения) |
| void | установитьСмещение(int смещение) |
| void | установитьОбластьПросмотра(const QGeoShape &областьПросмотра) |
Подробное описание
Экземпляры QGeoCodeReply управляют состоянием и результатами этих операций.
Методы завершён(), ошибка() и описаниеОшибки() предоставляют информацию о завершении операции и ее успешности.
Сигналы завершён() и ошибка(QGeoCodeReply::Ошибка,QString) могут использоваться для отслеживания хода выполнения операции.
Возможна ситуация, когда недавно созданный QGeoCodeReply может находиться в завершённом состоянии, чаще всего из-за возникновения ошибки. Так как такой экземпляр никогда не отправит сигналы завершён() или ошибка(QGeoCodeReply::Ошибка,QString), важно проверить результат завершён() перед подключением к сигналам. Документация для QGeoCodingManager демонстрирует, как это можно сделать.
Если операция завершается успешно, к результатам можно получить доступ с помощью местоположения().
Документация по типам членов
перечисление QGeoCodeReply::Ошибка
Описание ошибки, которая помешала завершить операцию.
| Постоянная | Значение | Описание |
|---|---|---|
QGeoCodeReply::NoError |
0 |
Ошибка не произошла. |
QGeoCodeReply::EngineNotSetError |
1 |
У менеджера геокодирования не было экземпляра QGeoCodingManagerEngine. |
QGeoCodeReply::CommunicationError |
2 |
Во время взаимодействия с поставщиком услуг произошла ошибка. |
QGeoCodeReply::ParseError |
3 |
Ответ от поставщика услуг был в нераспознаваемом формате. |
QGeoCodeReply::UnsupportedOptionError |
4 |
Запрашиваемая операция или один из параметров операции не поддерживаются поставщиком услуг. |
QGeoCodeReply::CombinationError |
5 |
Во время объединения результатов из нескольких источников произошла ошибка. |
QGeoCodeReply::UnknownError |
6 |
Произошла ошибка, которая не попадает ни в одну из других категорий. |
Документация по функциям-членам
[protected] QGeoCodeReply::QGeoCodeReply(QObject *родитель = nullptr)
Конструктор ответа на геокодирование со заданным родителем.
QGeoCodeReply::QGeoCodeReply(QGeoCodeReply::Ошибка ошибка, const QString &описаниеОшибки, QObject *родитель = nullptr)
Конструктор ответа на геокодирование с заданной ошибкой и описаниемОшибки и указанным родителем.
[signal] void QGeoCodeReply::отменён()
Этот сигнал отправляется, когда операция отменена.
Функция была введена в Qt 5.9.
См. также abort().
[signal] void QGeoCodeReply::ошибка(QGeoCodeReply::Ошибка ошибка, const QString &описаниеОшибки = QString())
Этот сигнал отправляется, когда при обработке этого ответа обнаружена ошибка. Сигнал завершён() вероятно последует.
Ошибка описывается кодом ошибка. Если описаниеОшибки не пусто, оно содержит текстовое описание ошибки.
Этот сигнал и QGeoCodingManager::ошибка() будут отправлены одновременно.
Примечание: Не удаляйте объект этого ответа в слоте, подключённом к этому сигналу. Используйте deleteLater() вместо этого.
Примечание: Сигнал ошибка перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобную вспомогательную функцию для получения указателя на функцию, как показано в этом примере:
connect(geoCodeReply, QOverload<QGeoCodeReply::Error, const QString &>::of(&QGeoCodeReply::error),
[=](QGeoCodeReply::Error error, const QString &errorString){ /* ... */ });
[signal] void QGeoCodeReply::завершён()
Этот сигнал отправляется, когда обработка этого ответа завершена.
Если ошибка() равна QGeoCodeReply::НетОшибок, обработка завершена успешно.
Этот сигнал и QGeoCodingManager::завершён() будут отправлены одновременно.
Примечание: Не удаляйте объект этого ответа в слоте, подключённом к этому сигналу. Используйте deleteLater() вместо этого.
См. также установитьЗавершен().
END_OF_DOCUMENT_MARKER
[virtual] QGeoCodeReply::~QGeoCodeReply()
Уничтожает этот объект ответа.
[virtual] void QGeoCodeReply::abort()
Немедленно отменяет операцию.
Если ответ завершён, это действие ничего не сделает.
См. также aborted().
[protected] void QGeoCodeReply::addLocation(const QGeoLocation &location)
Добавляет location в список местоположений в этом ответе.
QGeoCodeReply::Error QGeoCodeReply::error() const
Возвращает состояние ошибки этого ответа.
Если результат равен QGeoCodeReply::NoError, ошибка не произошла.
См. также setError().
QString QGeoCodeReply::errorString() const
Возвращает текстовое представление состояния ошибки этого ответа.
Если ошибка не произошла, возвращается пустая строка. Возможно, произошла ошибка, для которой нет связанного текстового представления, в этом случае также возвращается пустая строка.
Чтобы определить, произошла ли ошибка, проверьте, равен ли QGeoCodeReply::error() значению QGeoCodeReply::NoError.
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.14/qgeocodereply.html