Sur cette page

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.
FournisseurLe 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érimentalMarque 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().
VersionLa 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ésListe 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 :

Si un plugin ne fournit pas de moteur, la fonction correspondante doit retourner nullptr.

QGeoCodingManagerEngine

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.

QGeoRoutingManagerEngine

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

QPlaceManagerEngine

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.