Qt Location GéoServices
Le site Qt Location fournit la majorité de ses fonctionnalités par l'intermédiaire de modules d'extension de géoservices. Ce document explique comment développer un nouveau plugin GeoService.
Description du plugin
Chaque plugin est décrit par un fichier json. Le fichier json décrit les capacités et la version du plugin. Vous trouverez ci-dessous un exemple de fichier json utilisé par le plugin OpenStreenMap :
{
"Keys": ["osm"],
"Provider": "osm",
"Version": 100,
"Experimental": false,
"Features": [
"OnlineMappingFeature",
"OnlineGeocodingFeature",
"ReverseGeocodingFeature",
"OnlineRoutingFeature",
"OnlinePlacesFeature"
]
}Les entrées ont la signification suivante :
| Clé | Description |
|---|---|
| Clé | Le nom unique/clé du plugin. Chaque plugin de GéoService doit avoir un nom unique. |
| Fournisseur | Le nom du fournisseur des services. Plusieurs plugins peuvent avoir le même nom. Dans ce cas, la chaîne Version sera utilisée pour mieux distinguer les plugins. |
| Expérimental | Marque le plugin de service comme expérimental. Les développeurs d'API peuvent choisir d'ignorer ces plugins lors de l'instanciation de QGeoServiceProvider::QGeoServiceProvider(). |
| Version | La version du plugin. Si plusieurs plugins ont le même nom de fournisseur, le plugin ayant la version la plus élevée sera utilisé. |
| Fonctionnalités | Liste des fonctionnalités fournies par le plugin/service. Chaque caractéristique est une représentation sous forme de chaîne de caractères des caractéristiques correspondantes dans QGeoServiceProvider. Pour plus de détails, voir QGeoServiceProvider::routingFeatures(), QGeoServiceProvider::geocodingFeatures() et QGeoServiceProvider::placesFeatures(). |
Mise en œuvre des plugins
Un implémenteur de plugin doit sous-classer QGeoServiceProviderFactory et autant de classes ManagerEngine qu'il souhaite fournir d'implémentations.
La sous-classification de QGeoServiceProviderFactory n'implique que la surcharge de l'une des méthodes suivantes :
- QGeoServiceProviderFactory::createGeocodingManagerEngine()
- QGeoServiceProviderFactory::createRoutingManagerEngine()
- QGeoServiceProviderFactory::createPlaceManagerEngine()
Si un plugin ne fournit pas de moteur, la fonction correspondante doit retourner nullptr.
Interface et méthodes de commodité pour les implémenteurs de plugins QGeoServiceProvider qui veulent fournir un support pour les opérations de géocodage. | |
Interface et méthodes de commodité pour les implémenteurs de plugins QGeoServiceProvider qui veulent fournir un accès aux informations de routage géographique | |
Interface pour les implémenteurs de plugins QGeoServiceProvider qui veulent fournir un accès à la fonctionnalité de lieu |
© 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.