Sur cette page

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 &parameters = 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 &parameters)

Membres publics statiques

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.

ConstanteValeurDescription
QGeoServiceProvider::NoError0Aucune erreur ne s'est produite.
QGeoServiceProvider::NotSupportedError1Le plugin ne prend pas en charge cette fonctionnalité.
QGeoServiceProvider::UnknownParameterError2Le plugin n'a pas reconnu l'un des paramètres qui lui ont été fournis.
QGeoServiceProvider::MissingRequiredParameterError3Le plugin n'a pas trouvé l'un des paramètres attendus.
QGeoServiceProvider::ConnectionError4Le plugin n'a pas pu se connecter à son service backend ou à sa base de données.
QGeoServiceProvider::LoaderError5Le 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.

ConstanteValeurDescription
QGeoServiceProvider::NoGeocodingFeatures0Aucune 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.

ConstanteValeurDescription
QGeoServiceProvider::NoMappingFeatures0Aucune 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`.

Décrit les fonctionnalités de navigation prises en charge par le fournisseur de services géographiques.

ConstanteValeurDescription
QGeoServiceProvider::NoNavigationFeatures0Aucune 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.

ConstanteValeurDescription
QGeoServiceProvider::NoPlacesFeatures0Aucune 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.

ConstanteValeurDescription
QGeoServiceProvider::NoRoutingFeatures0Aucune 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 &parameters = 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.

Renvoie un code d'erreur décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de navigation.

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.

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 &parameters)

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.