Qt Location GeoServicios
Qt Location proporciona la mayor parte de su funcionalidad a través de complementos GeoService. Este documento describe cómo desarrollar un nuevo complemento GeoService.
Descripción del complemento
Cada complemento se describe mediante un archivo json. El archivo json describe las capacidades y la versión del plugin. A continuación se muestra un ejemplo de un archivo json utilizado por el plugin OpenStreenMap:
{
"Keys": ["osm"],
"Provider": "osm",
"Version": 100,
"Experimental": false,
"Features": [
"OnlineMappingFeature",
"OnlineGeocodingFeature",
"ReverseGeocodingFeature",
"OnlineRoutingFeature",
"OnlinePlacesFeature"
]
}Las entradas tienen el siguiente significado:
| Clave | Descripción |
|---|---|
| Claves | El nombre único/clave del plugin. Cada plugin de GeoService debe tener un nombre único. |
| Proveedor | El nombre del proveedor de los servicios. Varios plugins pueden tener el mismo nombre. En tales casos, se utilizará la cadena Versión para distinguir mejor los plugins. |
| Experimental | Marca el complemento de servicio como experimental. Los desarrolladores de la API pueden optar por ignorar este tipo de complementos al crear QGeoServiceProvider::QGeoServiceProvider(). |
| Versión | La versión del complemento. Si varios plugins tienen el mismo nombre de proveedor, se utilizará el plugin con la versión más alta. |
| Características | Lista de características proporcionadas por el complemento/servicio. Cada característica es una representación de cadena de las características correspondientes en QGeoServiceProvider. Para más detalles, véase QGeoServiceProvider::routingFeatures(), QGeoServiceProvider::geocodingFeatures() y QGeoServiceProvider::placesFeatures(). |
Implementación de plugins
Un implementador de plugins necesita subclasificar QGeoServiceProviderFactory y tantas clases ManagerEngine como quiera implementar.
Subclasificar QGeoServiceProviderFactory solo implicará sobreescribir uno de los siguientes métodos:
- QGeoServiceProviderFactory::createGeocodingManagerEngine()
- QGeoServiceProviderFactory::createRoutingManagerEngine()
- QGeoServiceProviderFactory::createPlaceManagerEngine()
Si un plugin no proporciona un motor, la función correspondiente debería devolver nullptr.
Interfaz y métodos de conveniencia para implementadores de plugins QGeoServiceProvider que quieran proporcionar soporte para operaciones de geocodificación. | |
Interfaz y métodos prácticos para los implementadores de plugins QGeoServiceProvider que deseen proporcionar acceso a información de enrutamiento geográfico. | |
Interfaz para implementadores de plugins QGeoServiceProvider que deseen proporcionar acceso a la funcionalidad de lugar |
© 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.