En esta página

QGeoRoutingManagerEngine Class

La clase QGeoRoutingManagerEngine proporciona una interfaz y métodos de conveniencia para los implementadores de plugins QGeoServiceProvider que quieren proporcionar acceso a la información de enrutamiento geográfico. Más...

Header: #include <QGeoRoutingManagerEngine>
qmake: QT += location
Inherits: QObject

Funciones públicas

QGeoRoutingManagerEngine(const QVariantMap &parameters, QObject *parent = 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)

Señales

void errorOccurred(QGeoRouteReply *reply, QGeoRouteReply::Error error, const QString &errorString = QString())
void finished(QGeoRouteReply *reply)

Funciones protegidas

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)

Descripción detallada

Nota: No existen garantías de compatibilidad binaria o de código fuente para las clases del backend. Sólo se garantiza que la API funcione con la versión de Qt con la que se desarrolló. No obstante, sólo se realizarán cambios en la API en versiones menores. (6.6, 6.7, etc.)

Las subclases de QGeoRoutingManagerEngine necesitan proporcionar una implementación de calculateRoute().

En la implementación por defecto, supportsRouteUpdates() devuelve false y updateRoute() devuelve un objeto QGeoRouteReply que contiene un QGeoRouteReply::UnsupportedOptionError.

Si el servicio de enrutamiento admite la actualización de rutas a medida que se recorren, la subclase debe proporcionar una implementación de updateRoute() y llamar a setSupportsRouteUpdates(true) en algún momento antes de que se llame a updateRoute().

La función setSupportsRouteUpdates() es una de varias funciones que configuran las capacidades reportadas del motor. Si las capacidades de un motor difieren de los valores por defecto, estas funciones deben ser utilizadas para que las capacidades reportadas sean exactas.

Es importante que esto se haga antes de utilizar calculateRoute(), updateRoute() o cualquiera de las funciones de informe de capacidades para evitar comportamientos incorrectos o inconsistentes.

Una subclase de QGeoRouteManagerEngine a menudo hará uso de una subclase de QGeoRouteReply internamente, con el fin de añadir cualquier dato específico del motor (como un objeto QNetworkReply para servicios basados en red) a las instancias QGeoRouteReply utilizadas por el motor.

Véase también QGeoRoutingManager.

Documentación de funciones miembro

[explicit] QGeoRoutingManagerEngine::QGeoRoutingManagerEngine(const QVariantMap &parameters, QObject *parent = nullptr)

Construye un nuevo motor con la dirección parent especificada, utilizando parameters para pasar cualquier dato específico de la implementación al motor.

[virtual noexcept] QGeoRoutingManagerEngine::~QGeoRoutingManagerEngine()

Destruye este motor.

[pure virtual] QGeoRouteReply *QGeoRoutingManagerEngine::calculateRoute(const QGeoRouteRequest &request)

Inicia el cálculo de la ruta especificada por request.

Se devolverá un objeto QGeoRouteReply, que puede utilizarse para gestionar la operación de enrutamiento y para devolver los resultados de la operación.

Este motor y el objeto QGeoRouteReply devuelto emitirán señales indicando si la operación se completa o si se producen errores.

Una vez completada la operación, QGeoRouteReply::routes puede utilizarse para recuperar la ruta o rutas calculadas.

Si request incluye características que no son soportadas por este motor, tal y como informan los métodos de este motor, entonces se producirá un QGeoRouteReply::UnsupportedOptionError.

El usuario es responsable de borrar el objeto de respuesta devuelto, aunque esto puede hacerse en la ranura conectada a QGeoRoutingManagerEngine::finished(), QGeoRoutingManagerEngine::errorOccurred(), QGeoRouteReply::finished() o QGeoRouteReply::errorOccurred() con deleteLater().

[signal] void QGeoRoutingManagerEngine::errorOccurred(QGeoRouteReply *reply, QGeoRouteReply::Error error, const QString &errorString = QString())

Esta señal se emite cuando se ha detectado un error en el procesamiento de reply. Probablemente le seguirá la señal QGeoRoutingManagerEngine::finished() .

El error se describirá mediante el código de error error. Si errorString no está vacío, contendrá una descripción textual del error.

Esta señal y QGeoRouteReply::errorOccurred() se emitirán al mismo tiempo.

Nota: No elimine el objeto reply de la ranura conectada a esta señal. Utilice deleteLater() en su lugar.

[signal] void QGeoRoutingManagerEngine::finished(QGeoRouteReply *reply)

Esta señal se emite cuando reply ha finalizado el procesamiento.

Si reply::error() es igual a QGeoRouteReply::NoError entonces el procesamiento ha finalizado correctamente.

Esta señal y QGeoRouteReply::finished() se emitirán al mismo tiempo.

Nota: No elimine el objeto reply en la ranura conectada a esta señal. Utilice deleteLater() en su lugar.

QLocale QGeoRoutingManagerEngine::locale() const

Devuelve la configuración regional utilizada para indicar a este gestor de enrutamiento qué idioma utilizar para las direcciones e instrucciones.

Véase también setLocale().

QString QGeoRoutingManagerEngine::managerName() const

Devuelve el nombre que esta implementación de motor utiliza para distinguirse de las implementaciones proporcionadas por otros plugins.

La combinación de managerName() y managerVersion() debe ser única entre las implementaciones de plugins.

int QGeoRoutingManagerEngine::managerVersion() const

Devuelve la versión de la implementación de este motor.

La combinación de managerName() y managerVersion() debe ser única entre las implementaciones de plugins.

QLocale::MeasurementSystem QGeoRoutingManagerEngine::measurementSystem() const

Devuelve el sistema de medida utilizado por este gestor.

Si se ha llamado a setMeasurementSystem() entonces el valor devuelto por esta función puede ser diferente al devuelto por locale().measurementSystem(). En cuyo caso el valor devuelto por esta función es el que utilizará el gestor.

Véase también setMeasurementSystem() y setLocale().

void QGeoRoutingManagerEngine::setLocale(const QLocale &locale)

Establece la configuración regional que utilizará este gestor en locale.

Si este gestor de enrutamiento admite la devolución de direcciones e instrucciones en diferentes idiomas, se devolverán en el idioma de locale.

Si no se establece, la configuración regional utilizada será por defecto la del sistema.

Véase también locale().

void QGeoRoutingManagerEngine::setMeasurementSystem(QLocale::MeasurementSystem system)

Establece el sistema de medición utilizado por este gestor en system.

El sistema de medida puede establecerse independientemente de la configuración regional. Tanto setLocale() como esta función establecen el sistema de medida. Se utilizará el valor establecido por la última función llamada.

Véase también measurementSystem(), locale(), y setLocale().

[protected] void QGeoRoutingManagerEngine::setSupportedFeatureTypes(QGeoRouteRequest::FeatureTypes featureTypes)

Establece los tipos de características que este motor puede tener en cuenta durante la planificación de la ruta en featureTypes.

Es importante que las subclases utilicen este método para asegurar que el motor informa de sus capacidades correctamente. Si no se utiliza esta función, el motor informará de que no admite ningún tipo de característica.

Véase también supportedFeatureTypes().

[protected] void QGeoRoutingManagerEngine::setSupportedFeatureWeights(QGeoRouteRequest::FeatureWeights featureWeights)

Establece las ponderaciones que este motor puede aplicar a las diferentes características durante la planificación de la ruta en featureWeights.

Es importante que las subclases utilicen este método para asegurar que el motor informa de sus capacidades correctamente. Si no se utiliza esta función, el motor informará de que no admite ninguna ponderación de características.

Véase también supportedFeatureWeights().

[protected] void QGeoRoutingManagerEngine::setSupportedManeuverDetails(QGeoRouteRequest::ManeuverDetails maneuverDetails)

Establece los niveles de detalle para las maniobras de navegación que pueden ser solicitadas por este motor a maneuverDetails.

Es importante que las subclases utilicen este método para asegurar que el motor informa de sus capacidades correctamente. Si no se utiliza esta función, el motor informará de que no admite ningún detalle de maniobra.

Ver también supportedManeuverDetails().

[protected] void QGeoRoutingManagerEngine::setSupportedRouteOptimizations(QGeoRouteRequest::RouteOptimizations optimizations)

Establece las optimizaciones de ruta soportadas por este motor en optimizations.

Es importante que las subclases utilicen este método para asegurarse de que el motor informa correctamente de sus capacidades. Si no se utiliza esta función, el motor indicará que no admite ninguna optimización de rutas.

Véase también supportedRouteOptimizations().

[protected] void QGeoRoutingManagerEngine::setSupportedSegmentDetails(QGeoRouteRequest::SegmentDetails segmentDetails)

Establece los niveles de detalle para los segmentos de enrutamiento que pueden ser solicitados por este motor a segmentDetails.

Es importante que las subclases utilicen este método para asegurar que el motor informa correctamente de sus capacidades. Si no se utiliza esta función, el motor informará de que no admite ningún tipo de detalle de segmento.

Véase también supportedSegmentDetails().

[protected] void QGeoRoutingManagerEngine::setSupportedTravelModes(QGeoRouteRequest::TravelModes travelModes)

Establece los modos de desplazamiento soportados por este motor en travelModes.

Es importante que las subclases utilicen este método para asegurar que el motor informa correctamente de sus capacidades. Si no se utiliza esta función, el motor indicará que no admite ningún modo de desplazamiento.

Véase también supportedTravelModes().

QGeoRouteRequest::FeatureTypes QGeoRoutingManagerEngine::supportedFeatureTypes() const

Devuelve los tipos de características que este motor puede tener en cuenta durante la planificación de la ruta.

Véase también setSupportedFeatureTypes().

QGeoRouteRequest::FeatureWeights QGeoRoutingManagerEngine::supportedFeatureWeights() const

Devuelve las ponderaciones que este motor puede aplicar a las diferentes características durante la planificación de la ruta.

Véase también setSupportedFeatureWeights().

QGeoRouteRequest::ManeuverDetails QGeoRoutingManagerEngine::supportedManeuverDetails() const

Devuelve los niveles de detalle de las maniobras de navegación que puede solicitar este motor.

Véase también setSupportedManeuverDetails().

QGeoRouteRequest::RouteOptimizations QGeoRoutingManagerEngine::supportedRouteOptimizations() const

Devuelve las optimizaciones de ruta soportadas por este motor.

Véase también setSupportedRouteOptimizations().

QGeoRouteRequest::SegmentDetails QGeoRoutingManagerEngine::supportedSegmentDetails() const

Devuelve los niveles de detalle de los segmentos de ruta que pueden ser solicitados por este motor.

Véase también setSupportedSegmentDetails().

QGeoRouteRequest::TravelModes QGeoRoutingManagerEngine::supportedTravelModes() const

Devuelve los modos de viaje soportados por este motor.

Véase también setSupportedTravelModes().

[virtual] QGeoRouteReply *QGeoRoutingManagerEngine::updateRoute(const QGeoRoute &route, const QGeoCoordinate &position)

Inicia el proceso de actualización de route basado en la posición actual position.

Se devolverá un objeto QGeoRouteReply, que puede utilizarse para gestionar la operación de enrutamiento y para devolver los resultados de la operación.

Este motor y el objeto QGeoRouteReply devuelto emitirán señales indicando si la operación se completa o si se producen errores.

Si supportsRouteUpdates() devuelve false se producirá un QGeoRouteReply::UnsupportedOptionError.

Una vez completada la operación, se puede utilizar QGeoRouteReply::routes para recuperar la ruta actualizada.

La ruta devuelta podría ser completamente diferente a la ruta original, especialmente si position se aleja lo suficiente de la ruta inicial. En caso contrario, la ruta será similar, aunque se actualizarán el tiempo y la distancia restantes y se eliminarán los segmentos de la ruta original que se hayan recorrido.

El usuario es responsable de eliminar el objeto de respuesta devuelto, aunque esto puede hacerse en la ranura conectada a QGeoRoutingManagerEngine::finished(), QGeoRoutingManagerEngine::errorOccurred(), QGeoRouteReply::finished() o QGeoRouteReply::errorOccurred() con deleteLater().

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.