Класс QGeoRouteReply
Класс QGeoRouteReply управляет операцией, запущенной экземпляром QGeoRoutingManager. Подробнее...
| Заголовок: | #include <QGeoRouteReply> |
| qmake: | QT += location |
| С момента: | Qt 5.6 |
| Наследуется от: | QObject |
Этот класс был представлен в Qt 5.6.
Открытые типы
| перечисление | Ошибка { НетОшибки, ОшибкаНеУстановленногоДвигателя, ОшибкаКоммуникации, ОшибкаПарсинга, ОшибкаНеПоддерживаемогоПараметра, НеизвестнаяОшибка } |
Открытые функции
| QGeoRouteReply(QGeoRouteReply::Ошибка error, const QString &errorString, QObject *parent = nullptr) | |
| виртуальный | ~QGeoRouteReply() |
| виртуальный void | abort() |
| QGeoRouteReply::Ошибка | error() const |
| QString | errorString() const |
| bool | isFinished() const |
| QGeoRouteRequest | request() const |
| QList<QGeoRoute> | routes() const |
Сигналы
| void | aborted() |
| void | error(QGeoRouteReply::Ошибка error, const QString &errorString = QString()) |
| void | finished() |
Защищенные функции
| QGeoRouteReply(const QGeoRouteRequest &request, QObject *parent = nullptr) | |
| void | addRoutes(const QList<QGeoRoute> &routes) |
| void | setError(QGeoRouteReply::Ошибка error, const QString &errorString) |
| void | setFinished(bool finished) |
| void | setRoutes(const QList<QGeoRoute> &routes) |
Подробное описание
Экземпляры QGeoRouteReply управляют состоянием и результатами этих операций.
Методы isFinished(), error() и errorString() предоставляют информацию о том, завершилась ли операция и успешно ли она завершилась.
Сигналы finished() и error(QGeoRouteReply::Ошибка,QString) могут использоваться для отслеживания выполнения операции.
Возможна ситуация, когда недавно созданный QGeoRouteReply может находиться в завершенном состоянии, чаще всего из-за возникновения ошибки. Поскольку такой экземпляр никогда не будет излучать сигналы finished() или error(QGeoRouteReply::Ошибка,QString), важно проверить результат isFinished() перед подключением к сигналам. Документация для QGeoRoutingManager демонстрирует, как это можно реализовать.
Если операция завершится успешно, результаты можно получить с помощью routes().
Документация по типам членов
перечисление QGeoRouteReply::Ошибка
Описание ошибки, которая помешала завершению операции.
| Постоянная | Значение | Описание |
|---|---|---|
QGeoRouteReply::NoError |
0 |
Ошибок не произошло. |
QGeoRouteReply::EngineNotSetError |
1 |
У менеджера маршрутизации не было связанного экземпляра QGeoRoutingManagerEngine. |
QGeoRouteReply::CommunicationError |
2 |
При общении с поставщиком услуг произошла ошибка. |
QGeoRouteReply::ParseError |
3 |
Ответ от поставщика услуг имел нераспознаваемый формат. |
QGeoRouteReply::UnsupportedOptionError |
4 |
Запрошенная операция или один из параметров операции не поддерживаются поставщиком услуг. |
QGeoRouteReply::UnknownError |
5 |
Возникла ошибка, которая не подходит ни под одну из других категорий. |
Документация по функциям-членам
[protected] QGeoRouteReply::QGeoRouteReply(const QGeoRouteRequest &request, QObject *parent = nullptr)
Конструирует объект ответа маршрута, основанный на request, со указанным parent.
QGeoRouteReply::QGeoRouteReply(QGeoRouteReply::Ошибка error, const QString &errorString, QObject *parent = nullptr)
Конструирует ответ маршрута с заданной ошибкой и errorString и указанным parent.
[signal] void QGeoRouteReply::aborted()
Этот сигнал излучается, когда операция была отменена.
Эта функция была представлена в Qt 5.9.
См. также abort().
[signal] void QGeoRouteReply::error(QGeoRouteReply::Ошибка error, const QString &errorString = QString())
Этот сигнал излучается, когда в обработке этого ответа обнаружена ошибка. Вероятно, последует сигнал finished().
Ошибка будет описана кодом ошибки error. Если errorString не пуста, она будет содержать текстовое описание ошибки.
Этот сигнал и QGeoRoutingManager::error() будут излучаться одновременно.
Примечание: Не удаляйте этот объект ответа в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.
Примечание: Сигнал error перегружен в этом классе. Для подключения к этому сигналу с помощью синтаксиса указателя на функцию Qt предоставляет удобный помощник для получения указателя на функцию, как показано в этом примере:
connect(geoRouteReply, QOverload<QGeoRouteReply::Error, const QString &>::of(&QGeoRouteReply::error),
[=](QGeoRouteReply::Error error, const QString &errorString){ /* ... */ });
[signal] void QGeoRouteReply::finished()
Этот сигнал излучается, когда обработка этого ответа завершена.
Если error() равно QGeoRouteReply::НетОшибки, обработка завершилась успешно.
Этот сигнал и QGeoRoutingManager::finished() будут излучаться одновременно.
Примечание: Не удаляйте этот объект ответа в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.
См. также setFinished().
[virtual] QGeoRouteReply::~QGeoRouteReply()
Уничтожает этот объект ответа маршрута.
[virtual] void QGeoRouteReply::abort()
Отменяет операцию немедленно.
Это ничего не сделает, если ответ завершен.
[protected] void QGeoRouteReply::addRoutes(const QList<QGeoRoute> &routes)
Добавляет список routes в существующий список.
END_OF_DOCUMENT_MARKERQGeoRouteReply::Error QGeoRouteReply::error() const
Возвращает состояние ошибки данного ответа.
Если результат равен QGeoRouteReply::NoError, ошибка не произошла.
См. также setError().
QString QGeoRouteReply::errorString() const
Возвращает текстовое представление состояния ошибки данного ответа.
Если ошибка не произошла, возвращается пустая строка. Возможна ситуация, когда произошла ошибка, но нет связанного с ней текстового представления, в этом случае также будет возвращена пустая строка.
Чтобы определить, произошла ли ошибка, проверьте, равно ли значение QGeoRouteReply::error() значению QGeoRouteReply::NoError.
bool QGeoRouteReply::isFinished() const
Возвращает true, если операция завершилась успешно или столкнулась с ошибкой, которая остановила операцию.
QGeoRouteRequest QGeoRouteReply::request() const
Возвращает запрос маршрута, который определил маршрут.
QList<QGeoRoute> QGeoRouteReply::routes() const
Возвращает список запрошенных маршрутов.
См. также setRoutes().
[protected] void QGeoRouteReply::setError(QGeoRouteReply::Error error, const QString &errorString)
Устанавливает состояние ошибки данного ответа в error и текстовое представление ошибки в errorString.
Это также вызовет эмиссию сигналов error() и finished() в указанном порядке.
См. также error().
[protected] void QGeoRouteReply::setFinished(bool finished)
Устанавливает, завершен ли этот ответ, в значение finished.
Если finished равно true, это вызовет эмиссию сигнала finished().
Если операция завершилась успешно, необходимо вызвать QGeoRouteReply::setRoutes() перед этим методом. Если произошла ошибка, вместо него следует использовать QGeoRouteReply::setError().
См. также finished().
[protected] void QGeoRouteReply::setRoutes(const QList<QGeoRoute> &routes)
Устанавливает список маршрутов в ответе в routes.
См. также routes().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qgeoroutereply.html