QGeoServiceProvider Class
La classe QGeoServiceProvider regroupe l'accès aux services qui fournissent des informations géographiques. Plus d'informations...
| 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 Cartes et Navigation permet d'accéder à différents types d'informations géographiques, y compris des fonctionnalités de géocodage, de routage 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 mélanger les 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 de routage géographique d'un autre fournisseur de services.
Cela n'est pas recommandé, sauf si le client est en mesure de vérifier que les données fournies par les différents services sont compatibles, car les différences dans les ensembles de données sous-jacents peuvent entraîner de graves incongruités entre les services.
Les sous-classes de QGeoServiceProvider garantissent que les différents services qu'elles fournissent sont interopérables.
Chaque fournisseur de service doit suivre une convention de dénomination pour les noms/clés des paramètres spécifiques à son service. Ils utilisent le nom du fournisseur comme préfixe pour tous leurs 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 des paramètres sensibles tels que les paramètres confidentiels token ou app_id avec d'autres plugins.
Veuillez consulter la documentation spécifique du plugin GeoServices pour obtenir une 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 de l'erreur |
|---|---|---|
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 qu'il attendait. |
QGeoServiceProvider::ConnectionError | 4 | Le plugin n'a pas pu se connecter à son service backend ou à sa base de données. |
QGeoServiceProvider::LoaderError | 5 | Le plugin n'a pas réussi à se charger. |
enum QGeoServiceProvider::GeocodingFeature
flags QGeoServiceProvider::GeocodingFeatures
Décrit les caractéristiques de géocodage prises en charge par le fournisseur de services géographiques.
| Constante | Valeur | Description |
|---|---|---|
QGeoServiceProvider::NoGeocodingFeatures | 0 | Aucune caractéristique 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 des résultats de géocodage avec les adresses localisées. |
QGeoServiceProvider::AnyGeocodingFeatures | ~(0) | Correspond à un fournisseur de services géographiques qui propose des fonctionnalités de géocodage. |
Le type GeocodingFeatures est un typedef pour QFlags<GeocodingFeature>. Il stocke une combinaison OU de valeurs de GeocodingFeatures.
enum QGeoServiceProvider::MappingFeature
flags QGeoServiceProvider::MappingFeatures
Décrit les caractéristiques de cartographie prises en charge par le fournisseur de services géographiques.
| Constante | Valeur | Description |
|---|---|---|
QGeoServiceProvider::NoMappingFeatures | 0 | Aucune caractéristique 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 qui propose des fonctions de cartographie. |
Le type MappingFeatures est un typedef pour QFlags<MappingFeature>. Il stocke une combinaison OU de valeurs de MappingFeatures.
enum QGeoServiceProvider::NavigationFeature
flags QGeoServiceProvider::NavigationFeatures
Décrit les caractéristiques de navigation prises en charge par le fournisseur de services géographiques.
| Constante | Valeur | Description |
|---|---|---|
QGeoServiceProvider::NoNavigationFeatures | 0 | Aucune caractéristique 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 qui propose des fonctions de navigation. |
Le type NavigationFeatures est un typedef pour QFlags<NavigationFeature>. Il stocke une combinaison OU de valeurs de NavigationFeatures.
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 caractéristique de lieu n'est prise en charge. |
QGeoServiceProvider::OnlinePlacesFeature | (1<<0) | Les lieux en ligne sont pris en charge. |
QGeoServiceProvider::OfflinePlacesFeature | (1<<1) | Les lieux hors ligne sont pris en charge. |
QGeoServiceProvider::SavePlaceFeature | (1<<2) | L'enregistrement des lieux est pris en charge. |
QGeoServiceProvider::RemovePlaceFeature | (1<<3) | Le retrait ou la suppression de lieux est pris en charge. |
QGeoServiceProvider::SaveCategoryFeature | (1<<4) | Sauvegarder des catégories est pris en charge. |
QGeoServiceProvider::RemoveCategoryFeature | (1<<5) | La suppression ou la suppression de catégories est prise 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 recherche de suggestions est prise en charge. |
QGeoServiceProvider::LocalizedPlacesFeature | (1<<8) | Prise en charge du retour des données localisées sur les lieux. |
QGeoServiceProvider::NotificationsFeature | (1<<9) | La notification des changements de lieux et de catégories est prise en charge. |
QGeoServiceProvider::PlaceMatchingFeature | (1<<10) | Prise en charge de la mise en correspondance de lieux provenant de deux fournisseurs de services géographiques différents. |
QGeoServiceProvider::AnyPlacesFeatures | ~(0) | Correspond à un fournisseur de services géographiques qui propose des caractéristiques de lieux. |
Le type PlacesFeatures est un typedef pour QFlags<PlacesFeature>. Il stocke une combinaison OU de valeurs PlacesFeatures.
enum QGeoServiceProvider::RoutingFeature
flags QGeoServiceProvider::RoutingFeatures
Décrit les caractéristiques de routage prises en charge par le fournisseur de services géographiques.
| Constante | Valeur | Description |
|---|---|---|
QGeoServiceProvider::NoRoutingFeatures | 0 | Aucune caractéristique de routage n'est prise en charge. |
QGeoServiceProvider::OnlineRoutingFeature | (1<<0) | L'acheminement en ligne est pris en charge. |
QGeoServiceProvider::OfflineRoutingFeature | (1<<1) | L'acheminement hors ligne est pris en charge. |
QGeoServiceProvider::LocalizedRoutingFeature | (1<<2) | Prise en charge du 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) | Prise en charge du renvoi d'itinéraires alternatifs. |
QGeoServiceProvider::ExcludeAreasRoutingFeature | (1<<5) | Prise en charge de la spécification d'une zone que l'itinéraire renvoyé ne doit pas traverser. |
QGeoServiceProvider::AnyRoutingFeatures | ~(0) | Correspond à un fournisseur de services géographiques qui propose des fonctionnalités de routage. |
Le type RoutingFeatures est un typedef pour QFlags<RoutingFeature>. Il stocke une combinaison OU de valeurs de RoutingFeatures.
Documentation des fonctions membres
QGeoServiceProvider::QGeoServiceProvider(const QString &providerName, const QVariantMap ¶meters = QVariantMap(), bool allowExperimental = false)
Construit un QGeoServiceProvider dont le backend a le nom providerName, en utilisant le plugin fourni parameters.
Si plusieurs plugins ont le même providerName, le plugin avec la plus grande version de providerVersion() sera utilisé.
Si allowExperimental est vrai, 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é, error() et errorString() fourniront des détails sur les raisons de cette situation.
Remarque : avant que la liste de parameters ne soit transmise au plugin fournisseur à charger, elle est filtrée afin d'éviter le partage de paramètres spécifiques au plugin avec des plugins fournisseurs non apparenté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()
Détruit l'objet fournisseur de services.
[static] QStringList QGeoServiceProvider::availableServiceProviders()
Renvoie une liste de noms de fournisseurs de services disponibles, à utiliser avec les constructeurs de 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 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 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 caractéristiques de géocodage prises en charge par le fournisseur de services géographiques.
QGeoCodingManager *QGeoServiceProvider::geocodingManager() const
Renvoie le site QGeoCodingManager mis à disposition par le fournisseur de services.
Cette fonction renvoie nullptr si le fournisseur de services ne propose aucun service de géocodage.
Cette fonction tente de construire une instance de QGeoCodingManager lorsqu'elle est appelée pour la première fois. Si la tentative réussit, l'instance QGeoCodingManager sera mise en cache, sinon chaque appel de cette fonction tentera de construire une instance QGeoCodingManager jusqu'à ce que la construction réussisse.
Le site QGeoCodingManager appartient à ce site QGeoServiceProvider et ne doit pas être supprimé séparément. Les utilisateurs doivent partir du principe que la suppression de QGeoServiceProvider rend le pointeur renvoyé par cette méthode invalide.
Après l'appel de cette fonction, error() et errorString() signalent toute erreur survenue 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 décrivant l'erreur qui s'est produite lors de la dernière tentative de création d'un gestionnaire de mappage.
QGeoServiceProvider::MappingFeatures QGeoServiceProvider::mappingFeatures() const
Renvoie les caractéristiques cartographiques 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 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 fonctions 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 le site QPlaceManager mis à disposition par le fournisseur de services.
Cette fonction tente de construire une instance QPlaceManager lorsqu'elle est appelée pour la première fois. Si la tentative réussit, le site QPlaceManager sera mis en cache, sinon chaque appel de cette fonction tentera de construire une instance QPlace jusqu'à ce que la construction réussisse.
Le QGeoPlaceManager appartient à cette QGeoServiceProvider et ne doit pas être supprimé séparément. Les utilisateurs doivent partir du principe que la suppression de QGeoServiceProvider rendra invalide le pointeur renvoyé par cette méthode.
Après l'appel de cette fonction, error() et errorString() signalent toute erreur survenue lors de la construction de 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 places.
QString QGeoServiceProvider::placesErrorString() const
Renvoie une chaîne décrivant l'erreur survenue lors de la dernière tentative de création d'un gestionnaire de places.
QGeoServiceProvider::PlacesFeatures QGeoServiceProvider::placesFeatures() const
Renvoie les caractéristiques des 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 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 caractéristiques de routage prises en charge par le fournisseur de services géographiques.
QGeoRoutingManager *QGeoServiceProvider::routingManager() const
Renvoie le site QGeoRoutingManager mis à disposition par le fournisseur de services.
Cette fonction renvoie nullptr si le fournisseur de services ne fournit aucun service de routage géographique.
Cette fonction tente de construire une instance QGeoRoutingManager lorsqu'elle est appelée pour la première fois. Si la tentative réussit, l'instance QGeoRoutingManager sera mise en cache, sinon chaque appel de cette fonction tentera de construire une instance QGeoRoutingManager jusqu'à ce que la construction réussisse.
Le site QGeoRoutingManager appartient à ce site QGeoServiceProvider et ne doit pas être supprimé séparément. Les utilisateurs doivent partir du principe que la suppression de QGeoServiceProvider rend le pointeur renvoyé par cette méthode invalide.
Après l'appel de cette fonction, error() et errorString() signalent toute erreur survenue lors de la construction de l'instance QGeoRoutingManager.
void QGeoServiceProvider::setAllowExperimental(bool allow)
Définit 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 à l'adresse allow.
Important : cette méthode détruira tous les gestionnaires existants détenus par cette instance de fournisseur de services. Vous devez vous assurer de ne pas essayer d'utiliser les 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 la locale utilisée par ce fournisseur de services à locale. Si les caractéristiques pertinentes (voir LocalizedMappingFeature etc), cela modifiera les langues, les unités et d'autres attributs spécifiques à la locale des données du fournisseur.
void QGeoServiceProvider::setParameters(const QVariantMap ¶meters)
Définit les paramètres utilisés pour construire les classes de gestionnaires individuels pour ce fournisseur de services à parameters.
Avant que la liste de parameters ne soit transmise au fournisseur de services à charger, elle est filtrée afin d'éviter le partage de paramètres spécifiques au fournisseur avec des fournisseurs de services non apparentés. Les clés des paramètres spécifiques au prestataire doivent être préfixées par le nom du prestataire (par exemple here.app_id).
Important : cette opération détruira tous les gestionnaires existants détenus par cette instance de fournisseur de services. Veillez à ne pas essayer d'utiliser les 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.