QGeoServiceProvider Class
La clase QGeoServiceProvider agrega el acceso a los servicios que proporcionan información geográfica. Más...
| Header: | #include <QGeoServiceProvider> |
| qmake: | QT += location |
| Inherits: | QObject |
Tipos Públicos
| 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 |
Funciones Públicas
| 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) |
Miembros públicos estáticos
| QStringList | availableServiceProviders() |
Descripción detallada
La API de Mapas y Navegación permite a los usuarios acceder a diversos tipos de información geográfica, incluidas funciones de geocodificación, enrutamiento y visualización de mapas. El QGeoServiceProvider agrega el acceso a un conjunto de estos servicios que son proporcionados por un único proveedor.
Es posible mezclar y combinar proveedores de servicios para los distintos dominios, de forma que un gestor de geocodificación de un proveedor de servicios pueda utilizarse con un gestor de enrutamiento geográfico de otro proveedor de servicios.
Esto no se recomienda a menos que el cliente pueda verificar que los datos proporcionados por los distintos servicios son compatibles, ya que las diferencias en los conjuntos de datos subyacentes podrían causar graves incongruencias entre los servicios.
Las subclases de QGeoServiceProvider garantizan que los diferentes servicios que proporcionan son interoperables.
Cada proveedor de servicios debe seguir una convención de nomenclatura para los nombres/claves de los parámetros específicos de sus servicios. Utilizan el nombre del proveedor como prefijo para todos los nombres de sus parámetros. Cuando se carga un proveedor, sólo se transmiten los parámetros cuyos nombres empiezan por el nombre del proveedor. Esto evita que se compartan parámetros sensibles como los parámetros confidenciales token o app_id con otros plugins.
Consulte la documentación específica del complemento GeoServices para obtener una lista completa de los nombres/claves y valores de los parámetros disponibles.
Documentación de tipos de miembros
enum QGeoServiceProvider::Error
Describe un error relacionado con la carga y configuración de un plugin de proveedor de servicios.
| Constante | Valor | Descripción |
|---|---|---|
QGeoServiceProvider::NoError | 0 | No se ha producido ningún error. |
QGeoServiceProvider::NotSupportedError | 1 | El plugin no soporta esta funcionalidad. |
QGeoServiceProvider::UnknownParameterError | 2 | El plugin no ha reconocido uno de los parámetros que se le han dado. |
QGeoServiceProvider::MissingRequiredParameterError | 3 | El complemento no ha encontrado uno de los parámetros que esperaba. |
QGeoServiceProvider::ConnectionError | 4 | El complemento no ha podido conectarse a su servicio backend o base de datos. |
QGeoServiceProvider::LoaderError | 5 | No se ha podido cargar el complemento. |
enum QGeoServiceProvider::GeocodingFeature
flags QGeoServiceProvider::GeocodingFeatures
Describe las características de geocodificación admitidas por el proveedor de servicios geográficos.
| Constante | Valor | Descripción |
|---|---|---|
QGeoServiceProvider::NoGeocodingFeatures | 0 | No se admiten funciones de geocodificación. |
QGeoServiceProvider::OnlineGeocodingFeature | (1<<0) | Se admite la geocodificación en línea. |
QGeoServiceProvider::OfflineGeocodingFeature | (1<<1) | Se admite la geocodificación fuera de línea. |
QGeoServiceProvider::ReverseGeocodingFeature | (1<<2) | Soporta geocodificación inversa. |
QGeoServiceProvider::LocalizedGeocodingFeature | (1<<3) | Admite la devolución de resultados de geocodificación con direcciones localizadas. |
QGeoServiceProvider::AnyGeocodingFeatures | ~(0) | Coincide con un proveedor de servicios geográficos que proporciona cualquier función de geocodificación. |
El tipo GeocodingFeatures es un tippedef para QFlags<GeocodingFeature>. Almacena una combinación OR de valores GeocodingFeature.
enum QGeoServiceProvider::MappingFeature
flags QGeoServiceProvider::MappingFeatures
Describe las características de mapeo admitidas por el proveedor de servicios geográficos.
| Constante | Valor | Descripción |
|---|---|---|
QGeoServiceProvider::NoMappingFeatures | 0 | No se admiten funciones de asignación. |
QGeoServiceProvider::OnlineMappingFeature | (1<<0) | Se admiten mapas en línea. |
QGeoServiceProvider::OfflineMappingFeature | (1<<1) | Admite mapas fuera de línea. |
QGeoServiceProvider::LocalizedMappingFeature | (1<<2) | Admite la devolución de datos cartográficos localizados. |
QGeoServiceProvider::AnyMappingFeatures | ~(0) | Coincide con un proveedor de servicios geográficos que proporciona cualquier función de mapas. |
El tipo MappingFeatures es un tippedef para QFlags<MappingFeature>. Almacena una combinación OR de valores MappingFeature.
enum QGeoServiceProvider::NavigationFeature
flags QGeoServiceProvider::NavigationFeatures
Describe las características de navegación admitidas por el proveedor de servicios geográficos.
| Constante | Valor | Descripción |
|---|---|---|
QGeoServiceProvider::NoNavigationFeatures | 0 | No se admiten funciones de navegación. |
QGeoServiceProvider::OnlineNavigationFeature | (1<<0) | Se admite la navegación en línea. |
QGeoServiceProvider::OfflineNavigationFeature | (1<<1) | Se admite la navegación sin conexión. |
QGeoServiceProvider::AnyNavigationFeatures | ~(0) | Coincide con un proveedor de servicios geográficos que proporciona funciones de navegación. |
El tipo NavigationFeatures es un tippedef para QFlags<NavigationFeature>. Almacena una combinación OR de valores NavigationFeature.
enum QGeoServiceProvider::PlacesFeature
flags QGeoServiceProvider::PlacesFeatures
Describe las características de lugar admitidas por el proveedor de servicios geográficos.
| Constante | Valor | Descripción |
|---|---|---|
QGeoServiceProvider::NoPlacesFeatures | 0 | No se admiten características de lugares. |
QGeoServiceProvider::OnlinePlacesFeature | (1<<0) | Se admiten lugares en línea. |
QGeoServiceProvider::OfflinePlacesFeature | (1<<1) | Se admiten lugares sin conexión. |
QGeoServiceProvider::SavePlaceFeature | (1<<2) | Es posible guardar lugares. |
QGeoServiceProvider::RemovePlaceFeature | (1<<3) | Es posible eliminar o borrar lugares. |
QGeoServiceProvider::SaveCategoryFeature | (1<<4) | Es posible guardar categorías. |
QGeoServiceProvider::RemoveCategoryFeature | (1<<5) | Es posible eliminar o borrar categorías. |
QGeoServiceProvider::PlaceRecommendationsFeature | (1<<6) | Es posible buscar lugares recomendados similares a otro lugar. |
QGeoServiceProvider::SearchSuggestionsFeature | (1<<7) | Admite sugerencias de búsqueda. |
QGeoServiceProvider::LocalizedPlacesFeature | (1<<8) | Admite la devolución de datos de lugares localizados. |
QGeoServiceProvider::NotificationsFeature | (1<<9) | Admite notificaciones de cambios de lugares y categorías. |
QGeoServiceProvider::PlaceMatchingFeature | (1<<10) | Admite la comparación de lugares de dos proveedores de servicios geográficos diferentes. |
QGeoServiceProvider::AnyPlacesFeatures | ~(0) | Coincide con un proveedor de servicios geográficos que proporciona cualquier característica de lugar. |
El tipo PlacesFeatures es un typedef para QFlags<PlacesFeature>. Almacena una combinación OR de valores PlacesFeature.
enum QGeoServiceProvider::RoutingFeature
flags QGeoServiceProvider::RoutingFeatures
Describe las características de enrutamiento admitidas por el proveedor de servicios geográficos.
| Constante | Valor | Descripción |
|---|---|---|
QGeoServiceProvider::NoRoutingFeatures | 0 | No se admiten funciones de enrutamiento. |
QGeoServiceProvider::OnlineRoutingFeature | (1<<0) | Se admite el enrutamiento en línea. |
QGeoServiceProvider::OfflineRoutingFeature | (1<<1) | Se admite el enrutamiento fuera de línea. |
QGeoServiceProvider::LocalizedRoutingFeature | (1<<2) | Admite la devolución de rutas con direcciones e instrucciones localizadas. |
QGeoServiceProvider::RouteUpdatesFeature | (1<<3) | Admite la actualización de una ruta existente basada en la posición actual. |
QGeoServiceProvider::AlternativeRoutesFeature | (1<<4) | Admite la devolución de rutas alternativas. |
QGeoServiceProvider::ExcludeAreasRoutingFeature | (1<<5) | Admite la especificación de áreas que la ruta devuelta no debe cruzar. |
QGeoServiceProvider::AnyRoutingFeatures | ~(0) | Coincide con un proveedor de servicios geográficos que proporciona cualquier característica de enrutamiento. |
El tipo RoutingFeatures es un typedef para QFlags<RoutingFeature>. Almacena una combinación OR de valores RoutingFeature.
Documentación de las funciones de los miembros
QGeoServiceProvider::QGeoServiceProvider(const QString &providerName, const QVariantMap ¶meters = QVariantMap(), bool allowExperimental = false)
Construye un QGeoServiceProvider cuyo backend tiene el nombre providerName, utilizando el parameters proporcionado.
Si varios plugins tienen el mismo providerName, se utilizará el plugin con el providerVersion() más alto.
Si allowExperimental es verdadero, se pueden utilizar los plugins marcados como experimentales. Por defecto, los plugins experimentales no se tienen en cuenta.
Si no se ha podido cargar ningún complemento que coincida con providerName, error() y errorString() proporcionarán detalles sobre el motivo.
Nota: Antes de pasar la lista de parameters al plugin proveedor que se va a cargar, la lista se filtra para evitar compartir parámetros específicos del plugin con plugins proveedores no relacionados. Las claves de los parámetros específicos del complemento deben ir precedidas del nombre del proveedor (por ejemplo, here.app_id).
[virtual noexcept] QGeoServiceProvider::~QGeoServiceProvider()
Destruye el objeto proveedor de servicios.
[static] QStringList QGeoServiceProvider::availableServiceProviders()
Devuelve una lista de nombres de los proveedores de servicios disponibles, para su uso con los constructores de QGeoServiceProvider.
QGeoServiceProvider::Error QGeoServiceProvider::error() const
Devuelve un código de error que describe el error que se produjo durante la última operación realizada por esta clase.
QString QGeoServiceProvider::errorString() const
Devuelve una cadena que describe el error que se produjo durante la última operación realizada por esta clase.
QGeoServiceProvider::Error QGeoServiceProvider::geocodingError() const
Devuelve un código de error que describe el error que se produjo durante el último intento de crear un gestor de geocodificación.
QString QGeoServiceProvider::geocodingErrorString() const
Devuelve una cadena que describe el error que se produjo durante el último intento de crear un gestor de geocodificación.
QGeoServiceProvider::GeocodingFeatures QGeoServiceProvider::geocodingFeatures() const
Devuelve las características de geocodificación admitidas por el proveedor de servicios geográficos.
QGeoCodingManager *QGeoServiceProvider::geocodingManager() const
Devuelve el QGeoCodingManager puesto a disposición por el proveedor de servicios.
Esta función devolverá nullptr si el proveedor de servicios no proporciona ningún servicio de geocodificación.
Esta función intentará construir una instancia de QGeoCodingManager cuando se invoque por primera vez. Si el intento tiene éxito, QGeoCodingManager se almacenará en caché; de lo contrario, cada vez que se llame a esta función se intentará construir una instancia QGeoCodingManager hasta que la construcción tenga éxito.
QGeoCodingManager es propiedad de QGeoServiceProvider y no debe eliminarse por separado. Los usuarios deben asumir que la eliminación de QGeoServiceProvider invalida el puntero devuelto por este método.
Después de llamar a esta función, error() y errorString() informarán de cualquier error que se haya producido durante la construcción de QGeoCodingManager.
QGeoServiceProvider::Error QGeoServiceProvider::mappingError() const
Devuelve un código de error que describe el error que se produjo durante el último intento de crear un gestor de asignación.
QString QGeoServiceProvider::mappingErrorString() const
Devuelve una cadena que describe el error que se produjo durante el último intento de crear un gestor de asignaciones.
QGeoServiceProvider::MappingFeatures QGeoServiceProvider::mappingFeatures() const
Devuelve las características cartográficas admitidas por el proveedor de servicios geográficos.
QGeoServiceProvider::Error QGeoServiceProvider::navigationError() const
Devuelve un código de error que describe el error que se produjo durante el último intento de crear un gestor de navegación.
QString QGeoServiceProvider::navigationErrorString() const
Devuelve una cadena que describe el error que se produjo durante el último intento de crear un gestor de navegación.
[since QtLocation 5.11] QGeoServiceProvider::NavigationFeatures QGeoServiceProvider::navigationFeatures() const
Devuelve las características de navegación soportadas por el proveedor de servicios geográficos.
Esta función se introdujo en QtLocation 5.11.
QPlaceManager *QGeoServiceProvider::placeManager() const
Devuelve el QPlaceManager puesto a disposición por el proveedor de servicios.
Esta función intentará construir una instancia de QPlaceManager cuando sea llamada por primera vez. Si el intento tiene éxito, el QPlaceManager se almacenará en caché; de lo contrario, cada vez que se llame a esta función se intentará construir una instancia QPlace hasta que la construcción tenga éxito.
El QGeoPlaceManager es propiedad de este QGeoServiceProvider y no debe eliminarse por separado. Los usuarios deben asumir que la eliminación de QGeoServiceProvider invalida el puntero devuelto por este método.
Después de llamar a esta función, error() y errorString() informarán de cualquier error que se haya producido durante la construcción de QPlaceManager.
QGeoServiceProvider::Error QGeoServiceProvider::placesError() const
Devuelve un código de error que describe el error que se produjo durante el último intento de crear un gestor de lugares.
QString QGeoServiceProvider::placesErrorString() const
Devuelve una cadena que describe el error que se produjo durante el último intento de crear un gestor de lugares.
QGeoServiceProvider::PlacesFeatures QGeoServiceProvider::placesFeatures() const
Devuelve las características de los lugares que admite el proveedor de servicios geográficos.
QGeoServiceProvider::Error QGeoServiceProvider::routingError() const
Devuelve un código de error que describe el error que se produjo durante el último intento de crear un gestor de enrutamiento.
QString QGeoServiceProvider::routingErrorString() const
Devuelve una cadena que describe el error que se produjo durante el último intento de crear un gestor de enrutamiento.
QGeoServiceProvider::RoutingFeatures QGeoServiceProvider::routingFeatures() const
Devuelve las características de enrutamiento admitidas por el proveedor de servicios geográficos.
QGeoRoutingManager *QGeoServiceProvider::routingManager() const
Devuelve el QGeoRoutingManager puesto a disposición por el proveedor de servicios.
Esta función devolverá nullptr si el proveedor de servicios no proporciona ningún servicio de enrutamiento geográfico.
Esta función intentará construir una instancia de QGeoRoutingManager cuando se llame por primera vez. Si el intento tiene éxito, QGeoRoutingManager se almacenará en caché; de lo contrario, cada vez que se llame a esta función se intentará construir una instancia QGeoRoutingManager hasta que la construcción tenga éxito.
QGeoRoutingManager es propiedad de QGeoServiceProvider y no debe eliminarse por separado. Los usuarios deben asumir que borrar el QGeoServiceProvider invalida el puntero devuelto por este método.
Después de llamar a esta función, error() y errorString() informarán de cualquier error que se haya producido durante la construcción de QGeoRoutingManager.
void QGeoServiceProvider::setAllowExperimental(bool allow)
Establece si los plugins experimentales se tienen en cuenta a la hora de localizar la biblioteca de plugins correcta para este proveedor de servicios en allow.
Importante: esto destruirá cualquier gestor existente mantenido por esta instancia de proveedor de servicios. Debes asegurarte de no intentar utilizar ningún puntero que hayas recuperado previamente después de llamar a este método.
void QGeoServiceProvider::setLocale(const QLocale &locale)
Establece la configuración regional utilizada por este proveedor de servicios en locale. Si las características relevantes (ver LocalizedMappingFeature etc), esto cambiará los idiomas, unidades y otros atributos específicos de la configuración regional de los datos del proveedor.
void QGeoServiceProvider::setParameters(const QVariantMap ¶meters)
Establece los parámetros utilizados para construir clases de gestor individuales para este proveedor de servicios en parameters.
Antes de pasar la lista de parameters al proveedor de servicios que se va a cargar, la lista se filtra para evitar que se compartan parámetros específicos del proveedor con proveedores de servicios no relacionados. Las claves de parámetros específicos del proveedor deben ir precedidas del nombre del proveedor (por ejemplo, here.app_id).
Importante: esta acción destruirá todos los gestores existentes en esta instancia de proveedor de servicios. Debe asegurarse de no intentar utilizar ningún puntero que haya recuperado previamente después de llamar a este método.
© 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.