QGeoRoutingManagerEngine Class
La classe QGeoRoutingManagerEngine fournit une interface et des méthodes de commodité aux implémenteurs des plugins QGeoServiceProvider qui souhaitent fournir un accès aux informations de routage géographique. Plus d'informations...
| Header: | #include <QGeoRoutingManagerEngine> |
| qmake: | QT += location |
| Inherits: | QObject |
Fonctions publiques
| QGeoRoutingManagerEngine(const QVariantMap ¶meters, 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) |
Signaux
| void | errorOccurred(QGeoRouteReply *reply, QGeoRouteReply::Error error, const QString &errorString = QString()) |
| void | finished(QGeoRouteReply *reply) |
Fonctions protégées
| 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) |
Description détaillée
Note : Il n'y a aucune garantie de compatibilité source ou binaire pour les classes backend. L'API n'est garantie de fonctionner qu'avec la version de Qt pour laquelle elle a été développée. Les modifications de l'API ne seront toutefois apportées que dans les versions mineures. (6.6, 6.7, et ainsi de suite).
Les sous-classes de QGeoRoutingManagerEngine doivent fournir une implémentation de calculateRoute().
Dans l'implémentation par défaut, supportsRouteUpdates() renvoie false et updateRoute() renvoie un objet QGeoRouteReply contenant un QGeoRouteReply::UnsupportedOptionError.
Si le service de routage prend en charge la mise à jour des itinéraires au fur et à mesure qu'ils sont parcourus, la sous-classe doit fournir une implémentation de updateRoute() et appeler setSupportsRouteUpdates(true) à un moment donné avant que updateRoute() ne soit appelé.
La fonction setSupportsRouteUpdates() est l'une des nombreuses fonctions qui configurent les capacités signalées du moteur. Si les capacités d'un moteur diffèrent des valeurs par défaut, ces fonctions doivent être utilisées pour que les capacités signalées soient exactes.
Il est important que cela soit fait avant que calculateRoute(), updateRoute() ou toute autre fonction de rapport de capacité ne soit utilisée afin d'éviter un comportement incorrect ou incohérent.
Une sous-classe de QGeoRouteManagerEngine utilisera souvent une sous-classe de QGeoRouteReply en interne, afin d'ajouter des données spécifiques au moteur (telles qu'un objet QNetworkReply pour les services basés sur le réseau) aux instances QGeoRouteReply utilisées par le moteur.
Voir également QGeoRoutingManager.
Documentation sur les fonctions membres
[explicit] QGeoRoutingManagerEngine::QGeoRoutingManagerEngine(const QVariantMap ¶meters, QObject *parent = nullptr)
Construit un nouveau moteur avec l'adresse parent spécifiée, en utilisant parameters pour transmettre au moteur les données spécifiques à l'implémentation.
[virtual noexcept] QGeoRoutingManagerEngine::~QGeoRoutingManagerEngine()
Détruit ce moteur.
[pure virtual] QGeoRouteReply *QGeoRoutingManagerEngine::calculateRoute(const QGeoRouteRequest &request)
Commence le calcul de l'itinéraire spécifié par request.
Un objet QGeoRouteReply sera renvoyé, qui peut être utilisé pour gérer l'opération de routage et renvoyer les résultats de l'opération.
Ce moteur et l'objet QGeoRouteReply renvoyé émettront des signaux indiquant si l'opération est terminée ou si des erreurs se produisent.
Une fois l'opération terminée, QGeoRouteReply::routes peut être utilisé pour récupérer l'itinéraire ou les itinéraires calculés.
Si request comprend des caractéristiques qui ne sont pas prises en charge par ce moteur, comme indiqué par les méthodes de ce moteur, un message QGeoRouteReply::UnsupportedOptionError sera émis.
L'utilisateur est responsable de la suppression de l'objet de réponse renvoyé, bien que cela puisse être fait dans le slot connecté à QGeoRoutingManagerEngine::finished(), QGeoRoutingManagerEngine::errorOccurred(), QGeoRouteReply::finished() ou QGeoRouteReply::errorOccurred() avec deleteLater().
[signal] void QGeoRoutingManagerEngine::errorOccurred(QGeoRouteReply *reply, QGeoRouteReply::Error error, const QString &errorString = QString())
Ce signal est émis lorsqu'une erreur a été détectée dans le traitement de reply. Le signal QGeoRoutingManagerEngine::finished() suivra probablement.
L'erreur sera décrite par le code d'erreur error. Si errorString n'est pas vide, il contiendra une description textuelle de l'erreur.
Ce signal et QGeoRouteReply::errorOccurred() seront émis en même temps.
Remarque : ne supprimez pas l'objet reply dans le slot connecté à ce signal. Utilisez plutôt deleteLater().
[signal] void QGeoRoutingManagerEngine::finished(QGeoRouteReply *reply)
Ce signal est émis lorsque reply a terminé le traitement.
Si reply::error() est égal à QGeoRouteReply::NoError, le traitement s'est terminé avec succès.
Ce signal et QGeoRouteReply::finished() seront émis en même temps.
Remarque : ne supprimez pas l'objet reply dans le slot connecté à ce signal. Utilisez plutôt deleteLater().
QLocale QGeoRoutingManagerEngine::locale() const
Renvoie la locale utilisée pour indiquer à ce gestionnaire de routage la langue à utiliser pour les adresses et les instructions.
Voir aussi setLocale().
QString QGeoRoutingManagerEngine::managerName() const
Renvoie le nom que l'implémentation de ce moteur utilise pour se distinguer des implémentations fournies par d'autres plugins.
La combinaison de managerName() et managerVersion() doit être unique parmi les implémentations de plugins.
int QGeoRoutingManagerEngine::managerVersion() const
Renvoie la version de l'implémentation de ce moteur.
La combinaison de managerName() et managerVersion() doit être unique parmi les implémentations de plugins.
QLocale::MeasurementSystem QGeoRoutingManagerEngine::measurementSystem() const
Renvoie le système de mesure utilisé par ce gestionnaire.
Si setMeasurementSystem() a été appelé, la valeur renvoyée par cette fonction peut être différente de celle renvoyée par locale().measurementSystem(). Dans ce cas, la valeur renvoyée par cette fonction est celle qui sera utilisée par le gestionnaire.
Voir également setMeasurementSystem() et setLocale().
void QGeoRoutingManagerEngine::setLocale(const QLocale &locale)
Définit la locale à utiliser par ce gestionnaire à locale.
Si ce gestionnaire de routage prend en charge le renvoi d'adresses et d'instructions dans différentes langues, celles-ci seront renvoyées dans la langue de locale.
La locale utilisée est par défaut la locale du système si elle n'est pas définie.
Voir aussi locale().
void QGeoRoutingManagerEngine::setMeasurementSystem(QLocale::MeasurementSystem system)
Définit le système de mesure utilisé par ce gestionnaire à system.
Le système de mesure peut être défini indépendamment de la locale. Tant setLocale() que cette fonction définissent le système de mesure. La valeur définie par la dernière fonction appelée sera utilisée.
Voir également measurementSystem(), locale() et setLocale().
[protected] void QGeoRoutingManagerEngine::setSupportedFeatureTypes(QGeoRouteRequest::FeatureTypes featureTypes)
Définit les types de caractéristiques que ce moteur peut prendre en compte lors de la planification de l'itinéraire à featureTypes.
Il est important que les sous-classes utilisent cette méthode pour s'assurer que le moteur indique correctement ses capacités. Si cette fonction n'est pas utilisée, le moteur indiquera qu'il ne prend en charge aucun type de caractéristique.
Voir également supportedFeatureTypes().
[protected] void QGeoRoutingManagerEngine::setSupportedFeatureWeights(QGeoRouteRequest::FeatureWeights featureWeights)
Définit les pondérations que ce moteur peut appliquer aux différentes caractéristiques pendant la planification de l'itinéraire à featureWeights.
Il est important que les sous-classes utilisent cette méthode pour s'assurer que le moteur indique correctement ses capacités. Si cette fonction n'est pas utilisée, le moteur indiquera qu'il ne prend en charge aucune pondération des caractéristiques.
Voir également supportedFeatureWeights().
[protected] void QGeoRoutingManagerEngine::setSupportedManeuverDetails(QGeoRouteRequest::ManeuverDetails maneuverDetails)
Définit les niveaux de détail des manœuvres de navigation qui peuvent être demandées par ce moteur à maneuverDetails.
Il est important que les sous-classes utilisent cette méthode pour s'assurer que le moteur indique correctement ses capacités. Si cette fonction n'est pas utilisée, le moteur indiquera qu'il ne prend en charge aucun détail de manœuvre.
Voir également supportedManeuverDetails().
[protected] void QGeoRoutingManagerEngine::setSupportedRouteOptimizations(QGeoRouteRequest::RouteOptimizations optimizations)
Définit les optimisations d'itinéraires prises en charge par ce moteur à optimizations.
Il est important que les sous-classes utilisent cette méthode pour s'assurer que le moteur indique correctement ses capacités. Si cette fonction n'est pas utilisée, le moteur indiquera qu'il ne prend en charge aucune optimisation des itinéraires.
Voir également supportedRouteOptimizations().
[protected] void QGeoRoutingManagerEngine::setSupportedSegmentDetails(QGeoRouteRequest::SegmentDetails segmentDetails)
Définit les niveaux de détail des segments de routage qui peuvent être demandés par ce moteur à segmentDetails.
Il est important que les sous-classes utilisent cette méthode pour s'assurer que le moteur indique correctement ses capacités. Si cette fonction n'est pas utilisée, le moteur indiquera qu'il ne prend en charge aucun détail de segment.
Voir également supportedSegmentDetails().
[protected] void QGeoRoutingManagerEngine::setSupportedTravelModes(QGeoRouteRequest::TravelModes travelModes)
Définit les modes de déplacement pris en charge par ce moteur à travelModes.
Il est important que les sous-classes utilisent cette méthode pour s'assurer que le moteur indique correctement ses capacités. Si cette fonction n'est pas utilisée, le moteur indiquera qu'il ne prend en charge aucun mode de déplacement.
Voir également supportedTravelModes().
QGeoRouteRequest::FeatureTypes QGeoRoutingManagerEngine::supportedFeatureTypes() const
Renvoie les types de caractéristiques que ce moteur peut prendre en compte lors de la planification de l'itinéraire.
Voir également setSupportedFeatureTypes().
QGeoRouteRequest::FeatureWeights QGeoRoutingManagerEngine::supportedFeatureWeights() const
Renvoie les pondérations que ce moteur peut appliquer aux différentes caractéristiques lors de la planification de l'itinéraire.
Voir également setSupportedFeatureWeights().
QGeoRouteRequest::ManeuverDetails QGeoRoutingManagerEngine::supportedManeuverDetails() const
Renvoie les niveaux de détail des manœuvres de navigation qui peuvent être demandés par ce moteur.
Voir également setSupportedManeuverDetails().
QGeoRouteRequest::RouteOptimizations QGeoRoutingManagerEngine::supportedRouteOptimizations() const
Renvoie les optimisations d'itinéraires prises en charge par ce moteur.
Voir aussi setSupportedRouteOptimizations().
QGeoRouteRequest::SegmentDetails QGeoRoutingManagerEngine::supportedSegmentDetails() const
Renvoie les niveaux de détail des segments de routage qui peuvent être demandés par ce moteur.
Voir aussi setSupportedSegmentDetails().
QGeoRouteRequest::TravelModes QGeoRoutingManagerEngine::supportedTravelModes() const
Renvoie les modes de déplacement pris en charge par ce moteur.
Voir aussi setSupportedTravelModes().
[virtual] QGeoRouteReply *QGeoRoutingManagerEngine::updateRoute(const QGeoRoute &route, const QGeoCoordinate &position)
Commence le processus de mise à jour de route sur la base de la position actuelle position.
Un objet QGeoRouteReply sera renvoyé, qui peut être utilisé pour gérer l'opération de routage et renvoyer les résultats de l'opération.
Ce moteur et l'objet QGeoRouteReply renvoyé émettront des signaux indiquant si l'opération est terminée ou si des erreurs se produisent.
Si la fonction supportsRouteUpdates() renvoie la valeur false, un message QGeoRouteReply::UnsupportedOptionError est émis.
Une fois l'opération terminée, QGeoRouteReply::routes peut être utilisé pour récupérer l'itinéraire mis à jour.
L'itinéraire renvoyé peut être totalement différent de l'itinéraire initial, en particulier si position est suffisamment éloigné de l'itinéraire initial. Dans le cas contraire, l'itinéraire sera similaire, mais le temps et la distance restants seront mis à jour et les segments de l'itinéraire initial qui ont été parcourus seront supprimés.
L'utilisateur est responsable de la suppression de l'objet de réponse renvoyé, bien que cela puisse être fait dans le slot connecté à QGeoRoutingManagerEngine::finished(), QGeoRoutingManagerEngine::errorOccurred(), QGeoRouteReply::finished() ou QGeoRouteReply::errorOccurred() avec 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.