En esta página

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 &parameters = 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 &parameters)

Miembros públicos estáticos

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.

ConstanteValorDescripción
QGeoServiceProvider::NoError0No se ha producido ningún error.
QGeoServiceProvider::NotSupportedError1El plugin no soporta esta funcionalidad.
QGeoServiceProvider::UnknownParameterError2El plugin no ha reconocido uno de los parámetros que se le han dado.
QGeoServiceProvider::MissingRequiredParameterError3El complemento no ha encontrado uno de los parámetros que esperaba.
QGeoServiceProvider::ConnectionError4El complemento no ha podido conectarse a su servicio backend o base de datos.
QGeoServiceProvider::LoaderError5No 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.

ConstanteValorDescripción
QGeoServiceProvider::NoGeocodingFeatures0No 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.

ConstanteValorDescripción
QGeoServiceProvider::NoMappingFeatures0No 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.

Describe las características de navegación admitidas por el proveedor de servicios geográficos.

ConstanteValorDescripción
QGeoServiceProvider::NoNavigationFeatures0No 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.

ConstanteValorDescripción
QGeoServiceProvider::NoPlacesFeatures0No 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.

ConstanteValorDescripción
QGeoServiceProvider::NoRoutingFeatures0No 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 &parameters = 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.

Devuelve un código de error que describe el error que se produjo durante el último intento de crear un gestor de navegación.

Devuelve una cadena que describe el error que se produjo durante el último intento de crear un gestor de navegación.

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 &parameters)

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.