Класс QGeoRoutingManagerEngine
Класс QGeoRoutingManagerEngine предоставляет интерфейс и удобные методы для разработчиков плагинов QGeoServiceProvider, которые хотят обеспечить доступ к географической информации о маршрутах. Подробнее...
| Заголовок: | #include <QGeoRoutingManagerEngine> |
| qmake: | QT += location |
| С момента: | Qt 5.6 |
| Наследует: | QObject |
Публичные функции
| QGeoRoutingManagerEngine(const QVariantMap ¶meters, QObject *parent = Q_NULLPTR) | |
| virtual | ~QGeoRoutingManagerEngine() |
| virtual QGeoRouteReply * | calculateRoute(const QGeoRouteRequest &request) = 0 |
| QLocale | locale() const |
| QString | managerName() const |
| int | managerVersion() const |
| QLocale::MeasurementSystem | measurementSystem() const |
| void | setLocale(const QLocale &locale) |
| void | setMeasurementSystem(QLocale::MeasurementSystem system) |
| QGeoRouteRequest::FeatureTypes | supportedFeatureTypes() const |
| QGeoRouteRequest::FeatureWeights | supportedFeatureWeights() const |
| QGeoRouteRequest::ManeuverDetails | supportedManeuverDetails() const |
| QGeoRouteRequest::RouteOptimizations | supportedRouteOptimizations() const |
| QGeoRouteRequest::SegmentDetails | supportedSegmentDetails() const |
| QGeoRouteRequest::TravelModes | supportedTravelModes() const |
| virtual QGeoRouteReply * | updateRoute(const QGeoRoute &route, const QGeoCoordinate &position) |
- 32 public functions inherited from QObject
Сигналы
| void | error(QGeoRouteReply *reply, QGeoRouteReply::Error error, QString errorString = QString()) |
| void | finished(QGeoRouteReply *reply) |
- 2 signals inherited from QObject
Защищенные функции
| void | setSupportedFeatureTypes(QGeoRouteRequest::FeatureTypes featureTypes) |
| void | setSupportedFeatureWeights(QGeoRouteRequest::FeatureWeights featureWeights) |
| void | setSupportedManeuverDetails(QGeoRouteRequest::ManeuverDetails maneuverDetails) |
| void | setSupportedRouteOptimizations(QGeoRouteRequest::RouteOptimizations optimizations) |
| void | setSupportedSegmentDetails(QGeoRouteRequest::SegmentDetails segmentDetails) |
| void | setSupportedTravelModes(QGeoRouteRequest::TravelModes travelModes) |
- 9 protected functions inherited from QObject
Дополнительные наследуемые члены
- 1 свойство, унаследованное от QObject
- 1 public slot, унаследованный от QObject
- 11 static public members inherited from QObject
Подробное описание
Класс QGeoRoutingManagerEngine предоставляет интерфейс и удобные методы для разработчиков плагинов QGeoServiceProvider, которые хотят обеспечить доступ к географической информации о маршрутах.
Подклассы QGeoRoutingManagerEngine должны реализовывать метод calculateRoute().
В реализации по умолчанию supportsRouteUpdates() возвращает false, а updateRoute() возвращает объект QGeoRouteReply, содержащий ошибку QGeoRouteReply::UnsupportedOptionError.
Если служба маршрутизации поддерживает обновление маршрутов во время движения, подкласс должен реализовать updateRoute() и вызвать setSupportsRouteUpdates(true) в какой-то момент до вызова updateRoute().
Функция setSupportsRouteUpdates() — одна из нескольких функций, которые конфигурируют отчёт о возможностях движка. Если возможности движка отличаются от значений по умолчанию, эти функции следует использовать для того, чтобы отчёт о возможностях был точным.
Важно, чтобы это было сделано до вызова calculateRoute(), updateRoute() или любых функций отчёта о возможностях, чтобы предотвратить некорректное или несогласованное поведение.
Подкласс QGeoRouteManagerEngine часто использует подкласс QGeoRouteReply для внутреннего использования, чтобы добавить любые данные, специфичные для движка (например, объект QNetworkReply для сетевых служб) в экземпляры QGeoRouteReply, используемые движком.
См. также QGeoRoutingManager.
Документация по членам-функциям
QGeoRoutingManagerEngine::QGeoRoutingManagerEngine(const QVariantMap ¶meters, QObject *parent = Q_NULLPTR)
Создаёт новый движок с указанным parent, используя parameters для передачи любых данных, специфичных для реализации, в движок.
[virtual] QGeoRoutingManagerEngine::~QGeoRoutingManagerEngine()
Удаляет этот движок.
[pure virtual] QGeoRouteReply *QGeoRoutingManagerEngine::calculateRoute(const QGeoRouteRequest &request)
Начинает вычисление маршрута, указанного в request.
Возвращается объект QGeoRouteReply, который можно использовать для управления операцией маршрутизации и возврата результатов операции.
Этот движок и возвращаемый объект QGeoRouteReply будут генерировать сигналы, указывающие, завершена ли операция или произошли ошибки.
После завершения операции, QGeoRouteReply::routes можно использовать для извлечения вычисленного маршрута или маршрутов.
Если request включает в себя функции, которые не поддерживаются этим движком, как сообщается методами в этом движке, то произойдёт QGeoRouteReply::UnsupportedOptionError.
END_OF_DOCUMENT_MARKERПользователь отвечает за удаление возвращённого объекта reply, хотя это можно сделать в слоте, подключённом к QGeoRoutingManagerEngine::finished(), QGeoRoutingManagerEngine::error(), QGeoRouteReply::finished() или QGeoRouteReply::error() с помощью deleteLater().
[signal] void QGeoRoutingManagerEngine::error(QGeoRouteReply *reply, QGeoRouteReply::Error error, QString errorString = QString())
Этот сигнал излучается, когда при обработке reply была обнаружена ошибка. За этим, вероятно, последует сигнал QGeoRoutingManagerEngine::finished().
Ошибка будет описана кодом ошибки error. Если errorString не пусто, она будет содержать текстовое описание ошибки.
Этот сигнал и QGeoRouteReply::error() будут излучаться одновременно.
Примечание: Не удаляйте объект reply в слоте, подключённом к этому сигналу. Используйте deleteLater() вместо этого.
[signal] void QGeoRoutingManagerEngine::finished(QGeoRouteReply *reply)
Этот сигнал излучается, когда обработка reply завершена.
Если reply::error() равно QGeoRouteReply::NoError, обработка завершилась успешно.
Этот сигнал и QGeoRouteReply::finished() будут излучаться одновременно.
Примечание: Не удаляйте объект reply в слоте, подключённом к этому сигналу. Используйте deleteLater() вместо этого.
QLocale QGeoRoutingManagerEngine::locale() const
Возвращает локаль, используемую для указания этому менеджеру маршрутизации, какой язык использовать для адресов и инструкций.
См. также setLocale().
QString QGeoRoutingManagerEngine::managerName() const
Возвращает имя, используемое этим движком для отличия от движков, предоставляемых другими плагинами.
Сочетание managerName() и managerVersion() должно быть уникальным среди реализаций плагинов.
int QGeoRoutingManagerEngine::managerVersion() const
Возвращает версию этой реализации движка.
Сочетание managerName() и managerVersion() должно быть уникальным среди реализаций плагинов.
QLocale::MeasurementSystem QGeoRoutingManagerEngine::measurementSystem() const
Возвращает систему измерения, используемую этим менеджером.
Если был вызван setMeasurementSystem(), то значение, возвращаемое этой функцией, может отличаться от значения, возвращаемого locale(). В этом случае значение, возвращаемое этой функцией, будет использоваться менеджером.
См. также setMeasurementSystem() и setLocale().
void QGeoRoutingManagerEngine::setLocale(const QLocale &locale)
Устанавливает локаль, которая будет использоваться этим менеджером, на locale.
Если этот менеджер маршрутизации поддерживает возвращение адресов и инструкций на разных языках, они будут возвращены на языке locale.
По умолчанию используемая локаль — системная, если она не задана.
См. также locale().
void QGeoRoutingManagerEngine::setMeasurementSystem(QLocale::MeasurementSystem system)
Устанавливает систему измерения, используемую этим менеджером, на system.
Систему измерения можно задать независимо от локали. Обе функции setLocale() и эта функция устанавливают систему измерения. Используется значение, установленное последней вызванной функцией.
См. также measurementSystem(), locale() и setLocale().
[protected] void QGeoRoutingManagerEngine::setSupportedFeatureTypes(QGeoRouteRequest::FeatureTypes featureTypes)
Устанавливает типы объектов, которые этот движок может учитывать при планировании маршрута, на featureTypes.
Подклассы должны использовать этот метод, чтобы гарантировать, что движок правильно сообщает о своих возможностях. Если эта функция не используется, движок сообщит, что не поддерживает никаких типов объектов.
См. также supportedFeatureTypes().
[protected] void QGeoRoutingManagerEngine::setSupportedFeatureWeights(QGeoRouteRequest::FeatureWeights featureWeights)
Устанавливает весовые коэффициенты, которые этот движок может применять к различным объектам при планировании маршрута, на featureWeights.
Подклассы должны использовать этот метод, чтобы гарантировать, что движок правильно сообщает о своих возможностях. Если эта функция не используется, движок сообщит, что не поддерживает никаких весовых коэффициентов объектов.
См. также supportedFeatureWeights().
[protected] void QGeoRoutingManagerEngine::setSupportedManeuverDetails(QGeoRouteRequest::ManeuverDetails maneuverDetails)
Устанавливает уровни детализации для маневров навигации, которые может запросить этот движок, на maneuverDetails.
Подклассы должны использовать этот метод, чтобы гарантировать, что движок правильно сообщает о своих возможностях. Если эта функция не используется, движок сообщит, что не поддерживает никаких уровней детализации маневров.
См. также supportedManeuverDetails().
[protected] void QGeoRoutingManagerEngine::setSupportedRouteOptimizations(QGeoRouteRequest::RouteOptimizations optimizations)
Устанавливает оптимизации маршрутов, поддерживаемые этим движком, на optimizations.
Подклассы должны использовать этот метод, чтобы гарантировать, что движок правильно сообщает о своих возможностях. Если эта функция не используется, движок сообщит, что не поддерживает никаких оптимизаций маршрутов.
См. также supportedRouteOptimizations().
[protected] void QGeoRoutingManagerEngine::setSupportedSegmentDetails(QGeoRouteRequest::SegmentDetails segmentDetails)
Устанавливает уровни детализации для сегментов маршрута, которые может запросить этот движок, на segmentDetails.
Подклассы должны использовать этот метод, чтобы гарантировать, что движок правильно сообщает о своих возможностях. Если эта функция не используется, движок сообщит, что не поддерживает никаких деталей сегментов.
См. также supportedSegmentDetails().
[protected] void QGeoRoutingManagerEngine::setSupportedTravelModes(QGeoRouteRequest::TravelModes travelModes)
Устанавливает типы транспортных режимов, поддерживаемые этим движком, на travelModes.
Подклассы должны использовать этот метод, чтобы гарантировать, что движок правильно сообщает о своих возможностях. Если эта функция не используется, движок сообщит, что не поддерживает никаких режимов перемещения.
См. также supportedTravelModes().
QGeoRouteRequest::FeatureTypes QGeoRoutingManagerEngine::supportedFeatureTypes() const
Возвращает типы объектов, которые этот движок может учитывать при планировании маршрута.
См. также setSupportedFeatureTypes().
QGeoRouteRequest::FeatureWeights QGeoRoutingManagerEngine::supportedFeatureWeights() const
Возвращает весовые коэффициенты, которые этот движок может применять к различным объектам при планировании маршрута.
См. также setSupportedFeatureWeights().
QGeoRouteRequest::ManeuverDetails QGeoRoutingManagerEngine::supportedManeuverDetails() const
Возвращает уровни детализации для маневров навигации, которые может запросить этот движок.
См. также setSupportedManeuverDetails().
QGeoRouteRequest::RouteOptimizations QGeoRoutingManagerEngine::supportedRouteOptimizations() const
Возвращает оптимизации маршрутов, поддерживаемые этим движком.
См. также setSupportedRouteOptimizations().
END_OF_DOCUMENT_MARKERQGeoRouteRequest::SegmentDetails QGeoRoutingManagerEngine::supportedSegmentDetails() const
Возвращает уровни детализации для маршрутных сегментов, которые могут быть запрошены этим движком.
См. также setSupportedSegmentDetails().
QGeoRouteRequest::TravelModes QGeoRoutingManagerEngine::supportedTravelModes() const
Возвращает типы передвижения, поддерживаемые этим движком.
См. также setSupportedTravelModes().
[virtual] QGeoRouteReply *QGeoRoutingManagerEngine::updateRoute(const QGeoRoute &route, const QGeoCoordinate &position)
Начинает процесс обновления route на основе текущего положения position.
Будет возвращён объект QGeoRouteReply, который может использоваться для управления операцией маршрутизации и для возврата результатов операции.
Этот движок и возвращённый объект QGeoRouteReply будут генерировать сигналы, указывающие на завершение операции или возникновение ошибок.
Если supportsRouteUpdates() возвращает false, произойдёт ошибка QGeoRouteReply::UnsupportedOptionError.
После завершения операции, QGeoRouteReply::routes может быть использован для получения обновлённого маршрута.
Возвращённый маршрут может быть полностью отличным от исходного маршрута, особенно если position достаточно удалён от начального маршрута. В противном случае маршрут будет похожим, хотя оставшееся время и расстояние будут обновлены, а любые сегменты исходного маршрута, которые были пройдены, будут удалены.
Пользователь отвечает за удаление возвращённого объекта ответа, хотя это можно сделать в слоте, подключенном к QGeoRoutingManagerEngine::finished(), QGeoRoutingManagerEngine::error(), QGeoRouteReply::finished() или QGeoRouteReply::error() с помощью deleteLater().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qgeoroutingmanagerengine.html