Класс QGeoRouteReply
Класс QGeoRouteReply управляет операцией, запущенной экземпляром QGeoRoutingManager. Подробнее...
| Заголовок: | #include <QGeoRouteReply> |
| qmake: | QT += location |
| С тех пор: | Qt 5.6 |
| Наследуется от: | QObject |
Типы публичного интерфейса
| перечисление | Error { NoError, EngineNotSetError, CommunicationError, ParseError, UnsupportedOptionError, UnknownError } |
Публичные функции
| QGeoRouteReply(QGeoRouteReply::Error error, const QString &errorString, QObject *parent = nullptr) | |
| виртуальный | ~QGeoRouteReply() |
| виртуальный void | abort() |
| QGeoRouteReply::Error | error() const |
| QString | errorString() const |
| bool | isFinished() const |
| QGeoRouteRequest | request() const |
| QList<QGeoRoute> | routes() const |
- 31 public functions inherited from QObject
Сигналы
| void | aborted() |
| void | error(QGeoRouteReply::Error error, const QString &errorString = QString()) |
| void | finished() |
- 2 signals inherited from QObject
Статические публичные члены
| const QMetaObject | staticMetaObject |
- 9 static public members inherited from QObject
Защищенные функции
| QGeoRouteReply(const QGeoRouteRequest &request, QObject *parent = nullptr) | |
| void | addRoutes(const QList<QGeoRoute> &routes) |
| void | setError(QGeoRouteReply::Error error, const QString &errorString) |
| void | setFinished(bool finished) |
| void | setRoutes(const QList<QGeoRoute> &routes) |
- 9 protected functions inherited from QObject
Дополнительные унаследованные члены
Подробное описание
Класс QGeoRouteReply управляет операцией, запущенной экземпляром QGeoRoutingManager.
Экземпляры класса QGeoRouteReply управляют состоянием и результатами этих операций.
Методы isFinished(), error() и errorString() предоставляют информацию о завершении операции и ее успешном выполнении.
Сигналы finished() и error(QGeoRouteReply::Error,QString) могут быть использованы для отслеживания хода выполнения операции.
Возможна ситуация, когда вновь созданный экземпляр QGeoRouteReply находится в состоянии завершения, чаще всего из-за возникновения ошибки. Поскольку такой экземпляр никогда не отправит сигналы finished() или error(QGeoRouteReply::Error,QString), важно проверить результат isFinished() перед подключением к сигналам. Документация для QGeoRoutingManager демонстрирует, как это можно сделать.
Если операция завершается успешно, результаты можно получить с помощью routes().
Документация по типам членов
перечисление QGeoRouteReply::Error
Описание ошибки, которая помешала завершить операцию.
| Постоянная | Значение | Описание |
|---|---|---|
QGeoRouteReply::NoError |
0 |
Ошибка не произошла. |
QGeoRouteReply::EngineNotSetError |
1 |
У управляющего модуля маршрутизации не было связанного с ним экземпляра QGeoRoutingManagerEngine. |
QGeoRouteReply::CommunicationError |
2 |
Во время связи с поставщиком услуг произошла ошибка. |
QGeoRouteReply::ParseError |
3 |
Ответ от поставщика услуг имел нераспознаваемый формат. |
QGeoRouteReply::UnsupportedOptionError |
4 |
Запрошенная операция или один из параметров операции не поддерживается поставщиком услуг. |
QGeoRouteReply::UnknownError |
5 |
Произошла ошибка, которая не попадает ни в одну из других категорий. |
Документация по функциям-членам
QGeoRouteReply::QGeoRouteReply(QGeoRouteReply::Error error, const QString &errorString, QObject *parent = nullptr)
Конструирует ответ о маршруте с заданной ошибкой и строкой ошибки и указанным родителем.
[protected] QGeoRouteReply::QGeoRouteReply(const QGeoRouteRequest &request, QObject *parent = nullptr)
Конструирует объект ответа о маршруте на основе запроса, с указанным родителем.
[virtual] QGeoRouteReply::~QGeoRouteReply()
Удаляет этот объект ответа о маршруте.
[virtual] void QGeoRouteReply::abort()
Немедленно отменяет операцию.
Это ничего не сделает, если ответ уже завершен.
[signal] void QGeoRouteReply::aborted()
Этот сигнал излучается, когда операция была отменена.
Эта функция была добавлена в Qt 5.9.
См. также abort().
[protected] void QGeoRouteReply::addRoutes(const QList<QGeoRoute> &routes)
Добавляет список маршрутов в существующий список.
QGeoRouteReply::Error QGeoRouteReply::error() const
Возвращает состояние ошибки данного ответа.
Если результат равен QGeoRouteReply::NoError, то ошибка не произошла.
См. также setError().
[signal] void QGeoRouteReply::error(QGeoRouteReply::Error 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){ /* ... */ }); QString QGeoRouteReply::errorString() const
Возвращает текстовое представление состояния ошибки этого ответа.
Если ошибка не произошла, возвращается пустая строка. Возможно, произошла ошибка, у которой нет связанного текстового представления, в этом случае также возвращается пустая строка.
Чтобы определить, произошла ли ошибка, проверьте, равно ли QGeoRouteReply::error() QGeoRouteReply::NoError.
[signal] void QGeoRouteReply::finished()
Этот сигнал излучается, когда обработка этого ответа завершается.
Если error() равно QGeoRouteReply::NoError, обработка завершилась успешно.
Этот сигнал и QGeoRoutingManager::finished() будут излучаться одновременно.
Примечание: Не удаляйте этот объект ответа в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.
См. также setFinished().
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.12/qgeoroutereply.html