QGeoServiceProvider Class
La classe `QGeoServiceProvider` regroupe l'accès aux services fournissant des informations géographiques. En savoir plus...
| Header: | #include <QGeoServiceProvider> |
| qmake: | QT += location |
| Inherits: | QObject |
Types publics
| enum | Error { NoError, NotSupportedError, UnknownParameterError, MissingRequiredParameterError, ConnectionError, LoaderError } |
| enum | GeocodingFeature { NoGeocodingFeatures, OnlineGeocodingFeature, OfflineGeocodingFeature, ReverseGeocodingFeature, LocalizedGeocodingFeature, AnyGeocodingFeatures } |
| flags | GeocodingFeatures |
| enum | MappingFeature { NoMappingFeatures, OnlineMappingFeature, OfflineMappingFeature, LocalizedMappingFeature, AnyMappingFeatures } |
| flags | MappingFeatures |
| enum | NavigationFeature { NoNavigationFeatures, OnlineNavigationFeature, OfflineNavigationFeature, AnyNavigationFeatures } |
| flags | NavigationFeatures |
| enum | PlacesFeature { NoPlacesFeatures, OnlinePlacesFeature, OfflinePlacesFeature, SavePlaceFeature, RemovePlaceFeature, …, AnyPlacesFeatures } |
| flags | PlacesFeatures |
| enum | RoutingFeature { NoRoutingFeatures, OnlineRoutingFeature, OfflineRoutingFeature, LocalizedRoutingFeature, RouteUpdatesFeature, …, AnyRoutingFeatures } |
| flags | RoutingFeatures |
Fonctions publiques
| QGeoServiceProvider(const QString &providerName, const QVariantMap ¶meters = QVariantMap(), bool allowExperimental = false) | |
| virtual | ~QGeoServiceProvider() |
| QGeoServiceProvider::Error | error() const |
| QString | errorString() const |
| QGeoServiceProvider::Error | geocodingError() const |
| QString | geocodingErrorString() const |
| QGeoServiceProvider::GeocodingFeatures | geocodingFeatures() const |
| QGeoCodingManager * | geocodingManager() const |
| QGeoServiceProvider::Error | mappingError() const |
| QString | mappingErrorString() const |
| QGeoServiceProvider::MappingFeatures | mappingFeatures() const |
| QGeoServiceProvider::Error | navigationError() const |
| QString | navigationErrorString() const |
(since QtLocation 5.11) QGeoServiceProvider::NavigationFeatures | navigationFeatures() const |
| QPlaceManager * | placeManager() const |
| QGeoServiceProvider::Error | placesError() const |
| QString | placesErrorString() const |
| QGeoServiceProvider::PlacesFeatures | placesFeatures() const |
| QGeoServiceProvider::Error | routingError() const |
| QString | routingErrorString() const |
| QGeoServiceProvider::RoutingFeatures | routingFeatures() const |
| QGeoRoutingManager * | routingManager() const |
| void | setAllowExperimental(bool allow) |
| void | setLocale(const QLocale &locale) |
| void | setParameters(const QVariantMap ¶meters) |
Membres publics statiques
| QStringList | availableServiceProviders() |
Description détaillée
L’API Maps and Navigation permet d’accéder à divers types d’informations géographiques, notamment à des fonctionnalités de géocodage, de calcul d’itinéraires et d’affichage de cartes. Le QGeoServiceProvider regroupe l’accès à un ensemble de ces services fournis par un seul fournisseur.
Il est possible de combiner différents fournisseurs de services pour les différents domaines, de sorte qu’un gestionnaire de géocodage d’un fournisseur de services puisse être utilisé avec un gestionnaire d’itinéraires géographiques d’un autre fournisseur.
Cette pratique n’est pas recommandée, sauf si le client est en mesure de vérifier que les données fournies par les différents services sont compatibles, car des différences dans les jeux de données sous-jacents pourraient entraîner de graves incohérences entre les services.
Les sous-classes de QGeoServiceProvider garantissent l’interopérabilité des différents services qu’elles fournissent.
Chaque fournisseur de services doit respecter une convention de nommage pour les noms/clés de paramètres spécifiques à son service. Il utilise le nom du fournisseur comme préfixe pour tous ses noms de paramètres. Lorsqu’un fournisseur est chargé, seuls les paramètres dont le nom commence par le nom du fournisseur sont transmis. Cela évite de partager avec d’autres plugins des paramètres sensibles, tels que des paramètres de type « token » ou « app_id ».
Veuillez consulter la documentation spécifique au plugin GeoServices pour obtenir la liste complète des noms/clés et valeurs de paramètres disponibles.
Documentation sur les types de membres
enum QGeoServiceProvider::Error
Décrit une erreur liée au chargement et à la configuration d'un plugin de fournisseur de services.
| Constante | Valeur | Description |
|---|---|---|
QGeoServiceProvider::NoError | 0 | Aucune erreur ne s'est produite. |
QGeoServiceProvider::NotSupportedError | 1 | Le plugin ne prend pas en charge cette fonctionnalité. |
QGeoServiceProvider::UnknownParameterError | 2 | Le plugin n'a pas reconnu l'un des paramètres qui lui ont été fournis. |
QGeoServiceProvider::MissingRequiredParameterError | 3 | Le plugin n'a pas trouvé l'un des paramètres attendus. |
QGeoServiceProvider::ConnectionError | 4 | Le plugin n'a pas pu se connecter à son service backend ou à sa base de données. |
QGeoServiceProvider::LoaderError | 5 | Le chargement du plugin a échoué. |
enum QGeoServiceProvider::GeocodingFeature
flags QGeoServiceProvider::GeocodingFeatures
Décrit les fonctionnalités de géocodage prises en charge par le fournisseur de services géographiques.
| Constante | Valeur | Description |
|---|---|---|
QGeoServiceProvider::NoGeocodingFeatures | 0 | Aucune fonctionnalité de géocodage n'est prise en charge. |
QGeoServiceProvider::OnlineGeocodingFeature | (1<<0) | Le géocodage en ligne est pris en charge. |
QGeoServiceProvider::OfflineGeocodingFeature | (1<<1) | Le géocodage hors ligne est pris en charge. |
QGeoServiceProvider::ReverseGeocodingFeature | (1<<2) | Le géocodage inversé est pris en charge. |
QGeoServiceProvider::LocalizedGeocodingFeature | (1<<3) | Prend en charge le renvoi de résultats de géocodage avec des adresses localisées. |
QGeoServiceProvider::AnyGeocodingFeatures | ~(0) | Correspond à un fournisseur de services géographiques proposant l’une quelconque des fonctionnalités de géocodage. |
Le type `GeocodingFeatures` est une définition de type pour `QFlags<GeocodingFeature>`. Il stocke une combinaison « OU » de valeurs `GeocodingFeature`.
enum QGeoServiceProvider::MappingFeature
flags QGeoServiceProvider::MappingFeatures
Décrit les fonctionnalités cartographiques prises en charge par le fournisseur de services géographiques.
| Constante | Valeur | Description |
|---|---|---|
QGeoServiceProvider::NoMappingFeatures | 0 | Aucune fonctionnalité de cartographie n'est prise en charge. |
QGeoServiceProvider::OnlineMappingFeature | (1<<0) | La cartographie en ligne est prise en charge. |
QGeoServiceProvider::OfflineMappingFeature | (1<<1) | La cartographie hors ligne est prise en charge. |
QGeoServiceProvider::LocalizedMappingFeature | (1<<2) | Prend en charge le renvoi de données cartographiques localisées. |
QGeoServiceProvider::AnyMappingFeatures | ~(0) | Correspond à un fournisseur de services géographiques proposant n'importe quelle fonctionnalité de cartographie. |
Le type `MappingFeatures` est une définition de type (`typedef`) pour ` QFlags<MappingFeature>`. Il stocke une combinaison « ou » (`OR`) de valeurs `MappingFeature`.
enum QGeoServiceProvider::NavigationFeature
flags QGeoServiceProvider::NavigationFeatures
Décrit les fonctionnalités de navigation prises en charge par le fournisseur de services géographiques.
| Constante | Valeur | Description |
|---|---|---|
QGeoServiceProvider::NoNavigationFeatures | 0 | Aucune fonctionnalité de navigation n'est prise en charge. |
QGeoServiceProvider::OnlineNavigationFeature | (1<<0) | La navigation en ligne est prise en charge. |
QGeoServiceProvider::OfflineNavigationFeature | (1<<1) | La navigation hors ligne est prise en charge. |
QGeoServiceProvider::AnyNavigationFeatures | ~(0) | Correspond à un fournisseur de services géographiques proposant n'importe quelle fonctionnalité de navigation. |
Le type NavigationFeatures est une définition de type pour QFlags<NavigationFeature>. Il stocke une combinaison « OU » de valeurs NavigationFeature.
enum QGeoServiceProvider::PlacesFeature
flags QGeoServiceProvider::PlacesFeatures
Décrit les caractéristiques des lieux prises en charge par le fournisseur de services géographiques.
| Constante | Valeur | Description |
|---|---|---|
QGeoServiceProvider::NoPlacesFeatures | 0 | Aucune fonctionnalité liée aux lieux n'est prise en charge. |
QGeoServiceProvider::OnlinePlacesFeature | (1<<0) | Les lieux en ligne sont pris en charge. |
QGeoServiceProvider::OfflinePlacesFeature | (1<<1) | La fonctionnalité « Lieux hors ligne » est prise en charge. |
QGeoServiceProvider::SavePlaceFeature | (1<<2) | L'enregistrement des lieux est pris en charge. |
QGeoServiceProvider::RemovePlaceFeature | (1<<3) | La suppression ou l'effacement des lieux est pris en charge. |
QGeoServiceProvider::SaveCategoryFeature | (1<<4) | L'enregistrement des catégories est pris en charge. |
QGeoServiceProvider::RemoveCategoryFeature | (1<<5) | La suppression ou l'effacement des catégories est pris en charge. |
QGeoServiceProvider::PlaceRecommendationsFeature | (1<<6) | La recherche de lieux recommandés similaires à un autre lieu est prise en charge. |
QGeoServiceProvider::SearchSuggestionsFeature | (1<<7) | La fonctionnalité de suggestions de recherche est prise en charge. |
QGeoServiceProvider::LocalizedPlacesFeature | (1<<8) | Prise en charge du renvoi de données de lieux localisées. |
QGeoServiceProvider::NotificationsFeature | (1<<9) | La notification des modifications apportées aux lieux et aux catégories est prise en charge. |
QGeoServiceProvider::PlaceMatchingFeature | (1<<10) | La mise en correspondance de lieux provenant de deux fournisseurs de services géographiques différents est prise en charge. |
QGeoServiceProvider::AnyPlacesFeatures | ~(0) | Permet de faire correspondre un fournisseur de services géographiques proposant n'importe quelle fonctionnalité liée aux lieux. |
Le type PlacesFeatures est un typedef pour QFlags<PlacesFeature>. Il stocke une combinaison « OU » de valeurs PlacesFeature.
enum QGeoServiceProvider::RoutingFeature
flags QGeoServiceProvider::RoutingFeatures
Décrit les fonctionnalités de routage prises en charge par le fournisseur de services géospatiaux.
| Constante | Valeur | Description |
|---|---|---|
QGeoServiceProvider::NoRoutingFeatures | 0 | Aucune fonctionnalité de routage n'est prise en charge. |
QGeoServiceProvider::OnlineRoutingFeature | (1<<0) | Le routage en ligne est pris en charge. |
QGeoServiceProvider::OfflineRoutingFeature | (1<<1) | Le calcul d'itinéraire hors ligne est pris en charge. |
QGeoServiceProvider::LocalizedRoutingFeature | (1<<2) | Prend en charge le renvoi d'itinéraires avec des adresses et des instructions localisées. |
QGeoServiceProvider::RouteUpdatesFeature | (1<<3) | La mise à jour d'un itinéraire existant en fonction de la position actuelle est prise en charge. |
QGeoServiceProvider::AlternativeRoutesFeature | (1<<4) | Prend en charge le renvoi d’itinéraires alternatifs. |
QGeoServiceProvider::ExcludeAreasRoutingFeature | (1<<5) | Prise en charge de la spécification de zones que l'itinéraire renvoyé ne doit pas traverser. |
QGeoServiceProvider::AnyRoutingFeatures | ~(0) | Correspond à un fournisseur de services géographiques proposant des fonctionnalités de calcul d’itinéraire. |
Le type RoutingFeatures est un typedef pour QFlags<RoutingFeature>. Il stocke une combinaison « OU » de valeurs RoutingFeature.
Documentation des fonctions membres
QGeoServiceProvider::QGeoServiceProvider(const QString &providerName, const QVariantMap ¶meters = QVariantMap(), bool allowExperimental = false)
Crée un QGeoServiceProvider dont le backend porte le nom providerName, en utilisant le parameters fourni.
Si plusieurs plugins ont le même providerName, celui dont la valeur de providerVersion() est la plus élevée sera utilisé.
Si allowExperimental est défini sur true, les plugins marqués comme expérimentaux peuvent être utilisés. Par défaut, les plugins expérimentaux ne sont pas pris en compte.
Si aucun plugin correspondant à ` providerName ` n’a pu être chargé, les méthodes ` error()` et ` errorString()` fourniront des détails sur les raisons de cet échec.
Remarque : avant que la liste des parameters ne soit transmise au plugin fournisseur à charger, celle-ci est filtrée afin d’éviter le partage de paramètres spécifiques au plugin avec des plugins fournisseurs non concernés. Les clés de paramètres spécifiques au plugin doivent être préfixées par le nom du fournisseur (par exemple : here.app_id).
[virtual noexcept] QGeoServiceProvider::~QGeoServiceProvider()
Supprime l'objet « fournisseur de services ».
[static] QStringList QGeoServiceProvider::availableServiceProviders()
Renvoie une liste des noms des fournisseurs de services disponibles, à utiliser avec les constructeurs de type « QGeoServiceProvider ».
QGeoServiceProvider::Error QGeoServiceProvider::error() const
Renvoie un code d'erreur décrivant l'erreur survenue lors de la dernière opération effectuée par cette classe.
QString QGeoServiceProvider::errorString() const
Renvoie une chaîne de caractères décrivant l'erreur survenue lors de la dernière opération effectuée par cette classe.
QGeoServiceProvider::Error QGeoServiceProvider::geocodingError() const
Renvoie un code d'erreur décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de géocodage.
QString QGeoServiceProvider::geocodingErrorString() const
Renvoie une chaîne de caractères décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de géocodage.
QGeoServiceProvider::GeocodingFeatures QGeoServiceProvider::geocodingFeatures() const
Renvoie les fonctionnalités de géocodage prises en charge par le fournisseur de services géographiques.
QGeoCodingManager *QGeoServiceProvider::geocodingManager() const
Renvoie l'QGeoCodingManager s mises à disposition par le fournisseur de services.
Cette fonction renverra « nullptr » si le fournisseur de services ne propose aucun service de géocodage.
Cette fonction tentera de créer une instance QGeoCodingManager lors de son premier appel. Si la tentative aboutit, l’ QGeoCodingManager sera mise en cache ; dans le cas contraire, chaque appel de cette fonction tentera de créer une instance QGeoCodingManager jusqu’à ce que la création aboutisse.
L’ QGeoCodingManager appartient à cet QGeoServiceProvider et ne doit pas être supprimée séparément. Les utilisateurs doivent partir du principe que la suppression de l’ QGeoServiceProvider rend invalide le pointeur renvoyé par cette méthode.
Une fois cette fonction appelée, les méthodes ` error()` et ` errorString()` signaleront toutes les erreurs survenues lors de la construction de l’instance ` QGeoCodingManager`.
QGeoServiceProvider::Error QGeoServiceProvider::mappingError() const
Renvoie un code d'erreur décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de mappage.
QString QGeoServiceProvider::mappingErrorString() const
Renvoie une chaîne de caractères décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de mappage.
QGeoServiceProvider::MappingFeatures QGeoServiceProvider::mappingFeatures() const
Renvoie les fonctionnalités de cartographie prises en charge par le fournisseur de services géographiques.
QGeoServiceProvider::Error QGeoServiceProvider::navigationError() const
Renvoie un code d'erreur décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de navigation.
QString QGeoServiceProvider::navigationErrorString() const
Renvoie une chaîne de caractères décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de navigation.
[since QtLocation 5.11] QGeoServiceProvider::NavigationFeatures QGeoServiceProvider::navigationFeatures() const
Renvoie les fonctionnalités de navigation prises en charge par le fournisseur de services géographiques.
Cette fonction a été introduite dans QtLocation 5.11.
QPlaceManager *QGeoServiceProvider::placeManager() const
Renvoie l'instance ` QPlaceManager ` mise à disposition par le fournisseur de services.
Cette fonction tentera de créer une instance de ` QPlaceManager ` lorsqu’elle sera appelée pour la première fois. Si la tentative aboutit, l’ QPlaceManager sera mise en cache ; dans le cas contraire, chaque appel de cette fonction tentera de créer une instance de ` QPlace ` jusqu’à ce que la création aboutisse.
Le `QGeoPlaceManager` appartient à cette ` QGeoServiceProvider ` et ne doit pas être supprimé séparément. Les utilisateurs doivent partir du principe que la suppression de l’ QGeoServiceProvider rend invalide le pointeur renvoyé par cette méthode.
Une fois cette fonction appelée, les méthodes ` error()` et ` errorString()` signaleront toutes les erreurs survenues lors de la construction de l’instance ` QPlaceManager`.
QGeoServiceProvider::Error QGeoServiceProvider::placesError() const
Renvoie un code d'erreur décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de lieux.
QString QGeoServiceProvider::placesErrorString() const
Renvoie une chaîne de caractères décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de lieux.
QGeoServiceProvider::PlacesFeatures QGeoServiceProvider::placesFeatures() const
Renvoie les entités de type « lieux » prises en charge par le fournisseur de services géographiques.
QGeoServiceProvider::Error QGeoServiceProvider::routingError() const
Renvoie un code d'erreur décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de routage.
QString QGeoServiceProvider::routingErrorString() const
Renvoie une chaîne de caractères décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de routage.
QGeoServiceProvider::RoutingFeatures QGeoServiceProvider::routingFeatures() const
Renvoie les fonctionnalités de calcul d'itinéraire prises en charge par le fournisseur de services géographiques.
QGeoRoutingManager *QGeoServiceProvider::routingManager() const
Renvoie l'QGeoRoutingManager s mises à disposition par le fournisseur de services.
Cette fonction renverra « nullptr » si le fournisseur de services ne propose aucun service de routage géographique.
Cette fonction tentera de créer une instance QGeoRoutingManager lors de son premier appel. Si la tentative aboutit, l’ QGeoRoutingManager sera mise en cache ; dans le cas contraire, chaque appel de cette fonction tentera de créer une instance QGeoRoutingManager jusqu’à ce que la création aboutisse.
L’ QGeoRoutingManager appartient à cet QGeoServiceProvider et ne doit pas être supprimé séparément. Les utilisateurs doivent partir du principe que la suppression de l’ QGeoServiceProvider rend invalide le pointeur renvoyé par cette méthode.
Une fois cette fonction appelée, les méthodes ` error()` et ` errorString()` signaleront toutes les erreurs survenues lors de la construction de l'instance ` QGeoRoutingManager`.
void QGeoServiceProvider::setAllowExperimental(bool allow)
Détermine si les plugins expérimentaux sont pris en compte lors de la recherche de la bibliothèque de plugins appropriée pour ce fournisseur de services sur allow.
Important : cette opération détruira tous les gestionnaires existants détenus par cette instance de fournisseur de services. Veillez à ne pas tenter d'utiliser des pointeurs que vous avez précédemment récupérés après avoir appelé cette méthode.
void QGeoServiceProvider::setLocale(const QLocale &locale)
Définit les paramètres régionaux utilisés par ce fournisseur de services sur locale. Si les fonctionnalités correspondantes sont activées (voir LocalizedMappingFeature, etc.), cela modifiera les langues, les unités de mesure et d'autres attributs spécifiques aux paramètres régionaux des données du fournisseur.
void QGeoServiceProvider::setParameters(const QVariantMap ¶meters)
Définit les paramètres utilisés pour créer les classes de gestionnaires individuelles pour ce fournisseur de services à l'adresse parameters.
Avant que la liste des parameters ne soit transmise au fournisseur de services à charger, celle-ci est filtrée afin d’éviter le partage de paramètres spécifiques au fournisseur avec des fournisseurs de services non concernés. Les clés de paramètres spécifiques au fournisseur doivent être préfixées par le nom du fournisseur (par exemple, here.app_id).
Important : cela détruira tous les gestionnaires existants détenus par cette instance de fournisseur de services. Vous devez vous assurer de ne pas tenter d’utiliser des pointeurs que vous avez précédemment récupérés après avoir appelé cette méthode.
© 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.