En esta página

QPlaceManager Class

La clase QPlaceManager proporciona la interfaz que permite a los clientes acceder a los lugares almacenados en un backend particular. Más...

Header: #include <QPlaceManager>
qmake: QT += location
Inherits: QObject

Funciones públicas

virtual ~QPlaceManager()
QPlaceCategory category(const QString &categoryId) const
QList<QPlaceCategory> childCategories(const QString &parentId = QString()) const
QStringList childCategoryIds(const QString &parentId = QString()) const
QPlace compatiblePlace(const QPlace &original) const
QPlaceContentReply *getPlaceContent(const QPlaceContentRequest &request) const
QPlaceDetailsReply *getPlaceDetails(const QString &placeId) const
QPlaceReply *initializeCategories()
QList<QLocale> locales() const
QString managerName() const
int managerVersion() const
QPlaceMatchReply *matchingPlaces(const QPlaceMatchRequest &request) const
QString parentCategoryId(const QString &categoryId) const
QPlaceIdReply *removeCategory(const QString &categoryId)
QPlaceIdReply *removePlace(const QString &placeId)
QPlaceIdReply *saveCategory(const QPlaceCategory &category, const QString &parentId = QString())
QPlaceIdReply *savePlace(const QPlace &place)
QPlaceSearchReply *search(const QPlaceSearchRequest &request) const
QPlaceSearchSuggestionReply *searchSuggestions(const QPlaceSearchRequest &request) const
void setLocale(const QLocale &locale)
void setLocales(const QList<QLocale> &locales)

Señales

void categoryAdded(const QPlaceCategory &category, const QString &parentId)
void categoryRemoved(const QString &categoryId, const QString &parentId)
void categoryUpdated(const QPlaceCategory &category, const QString &parentId)
void dataChanged()
void errorOccurred(QPlaceReply *reply, QPlaceReply::Error error, const QString &errorString = QString())
void finished(QPlaceReply *reply)
void placeAdded(const QString &placeId)
void placeRemoved(const QString &placeId)
void placeUpdated(const QString &placeId)

Descripción detallada

La siguiente tabla ofrece una visión general de la funcionalidad proporcionada por el QPlaceManager

FuncionalidadDescripción
Búsqueda de lugaresUtilizando un conjunto de parámetros como un término de búsqueda y un área de búsqueda, se pueden devolver al usuario lugares relevantes.
CategoríasLos lugares pueden clasificarse en diferentes categorías. El gestor permite acceder a estas categorías.
Sugerencias de términos de búsquedaDado un término de búsqueda parcialmente completo, se puede ofrecer una lista de posibles términos de búsqueda.
RecomendacionesDado un lugar existente, se puede sugerir al usuario un conjunto de lugares similares recomendados.
Contenido enriquecidoEl contenido enriquecido, como imágenes, reseñas, etc., puede recuperarse de forma paginada.
Gestión de lugares o categoríasLos lugares y las categorías pueden guardarse y eliminarse. Es posible enviar notificaciones cuando esto ocurra.
LocalizaciónSe pueden especificar diferentes localizaciones para devolver datos de lugares en diferentes idiomas.

Obtención de una instancia de QPlaceManager

La creación de un QPlaceManager es facilitada por QGeoServiceProvider. Ver Inicializando un gestor para un ejemplo de como crear un gestor.

Interfaz Asíncrona

La clase QPlaceManager proporciona una abstracción del datastore que contiene información de lugares. Las funciones proporcionadas por QPlaceManager son principalmente asíncronas y siguen un modelo de petición-respuesta. Típicamente se da una petición al gestor, consistente en un conjunto de parámetros y se crea un objeto de respuesta. El objeto de respuesta tiene una señal para notificar cuando se realiza la solicitud, y una vez completada, la respuesta contiene los resultados de la solicitud, junto con los errores que se produjeron, si los hubiere.

Una petición asíncrona se maneja generalmente de la siguiente manera:

//1) Hacer una petición apropiadaQPlaceSearchRequest searchRequest; searchRequest.setSearchTerm("helado"); searchRequest.setSearchArea(QGeoCircle(QGeoCoordinate(12.34, 56.78)));//2) Utiliza el gestor para iniciar una petición y recuperar un objeto de respuestaQPlaceSearchReply * searchReply =  manager->search(searchRequest);//3) Conectar el objeto de respuesta a un slot que se invoca al finalizar la operaciónconnect(searchReply, &QPlaceSearchReply::finished, this, &RequestHandler::processSearchReply); ... ...//4) Hacer que la ranura procese adecuadamente los resultados de la operaciónvoid processSearchReply() { if (searchReply->error() == QPlaceReply::NoError) { for(const QPlaceSearchResult &result:  searchReply->results()) { if (result.type() == QPlaceSearchResult::ColocarResultado)                qDebug() << "Title:" << result.title();
        } }//5) Descarta el objeto rely cuando hayas terminado. searchReply->deleteLater(); searchReply = nullptr; }

Ver Operaciones Comunes para una lista de ejemplos que demuestran como se usa el QPlaceManger.

Inicialización de Categorías

En algún momento durante el arranque de una aplicación, la función initializeCategories() debe ser llamada para configurar las categorías. Inicializar las categorías permite el uso de las siguientes funciones:

Si es necesario actualizar o recargar las categorías, se puede volver a llamar a la función initializeCategories().

Documentación de las funciones miembro

[virtual noexcept] QPlaceManager::~QPlaceManager()

Destruye el gestor. Este destructor es utilizado internamente por QGeoServiceProvider y nunca debe ser llamado en el código de la aplicación.

QPlaceCategory QPlaceManager::category(const QString &categoryId) const

Devuelve la categoría correspondiente a la dirección categoryId.

[signal] void QPlaceManager::categoryAdded(const QPlaceCategory &category, const QString &parentId)

Esta señal se emite si se ha añadido un category al almacén de datos del gestor. El padre de category se especifica en parentId.

Esta señal sólo la emiten los gestores que soportan QPlaceManager::NotificationsFeature.

Véase también dataChanged().

[signal] void QPlaceManager::categoryRemoved(const QString &categoryId, const QString &parentId)

Esta señal se emite cuando la categoría correspondiente a categoryId ha sido eliminada del almacén de datos del gestor. El padre de la categoría eliminada se especifica en parentId.

Esta señal sólo la emiten los gestores que soportan QPlaceManager::NotificationsFeature.

Véase también dataChanged().

[signal] void QPlaceManager::categoryUpdated(const QPlaceCategory &category, const QString &parentId)

Esta señal se emite si se ha modificado una category en el almacén de datos del gestor. El padre de la categoría modificada se especifica en parentId.

Esta señal sólo la emiten los gestores que soportan QPlaceManager::NotificationsFeature.

Véase también dataChanged().

QList<QPlaceCategory> QPlaceManager::childCategories(const QString &parentId = QString()) const

Devuelve una lista de categorías que son hijas de la categoría correspondiente a parentId. Si parentId está vacía, se devuelven todas las categorías de nivel superior.

QStringList QPlaceManager::childCategoryIds(const QString &parentId = QString()) const

Devuelve los identificadores de categoría hija de la categoría correspondiente a parentId. Si parentId está vacío, se devuelven todos los identificadores de categoría de nivel superior.

QPlace QPlaceManager::compatiblePlace(const QPlace &original) const

Devuelve una versión podada o modificada del lugar original que se puede guardar en este gestor.

En la versión modificada sólo están presentes los detalles del lugar que admite este gestor. Los datos específicos del gestor, como el id del lugar, no se copian de original.

[signal] void QPlaceManager::dataChanged()

Esta señal es emitida por el gestor si se producen cambios a gran escala en su almacén de datos subyacente y el gestor considera que estos cambios son lo suficientemente radicales como para requerir que los clientes vuelvan a cargar todos los datos.

Si se emite la señal, no se emitirán otras señales para los cambios asociados.

Esta señal sólo es emitida por gestores que soporten QPlaceManager::NotificationsFeature.

[signal] void QPlaceManager::errorOccurred(QPlaceReply *reply, QPlaceReply::Error error, const QString &errorString = QString())

Esta señal se emite cuando se ha detectado un error en el procesamiento de reply. Probablemente le seguirá la señal QPlaceManager::finished() .

El error se describirá mediante el código de error error. Si errorString no está vacío, contendrá una descripción textual del error destinada a los desarrolladores y no a los usuarios finales.

Esta señal y QPlaceReply::errorOccurred() se emitirán al mismo tiempo.

Nota: No elimine el objeto reply de la ranura conectada a esta señal. Utilice deleteLater() en su lugar.

[signal] void QPlaceManager::finished(QPlaceReply *reply)

Esta señal se emite cuando reply ha terminado de procesar.

Si reply->error() es igual a QPlaceReply::NoError entonces el procesamiento ha finalizado con éxito.

Esta señal y QPlaceReply::finished() se emitirán al mismo tiempo.

Nota: No elimine el objeto reply en la ranura conectada a esta señal. Utilice deleteLater() en su lugar.

QPlaceContentReply *QPlaceManager::getPlaceContent(const QPlaceContentRequest &request) const

Recupera el contenido de un lugar según los parámetros especificados en request.

Consulte Recuperación de contenido enriquecido para ver un ejemplo de uso.

QPlaceDetailsReply *QPlaceManager::getPlaceDetails(const QString &placeId) const

Recupera los detalles del lugar correspondiente a la dirección placeId.

Consulte Obtener detalles de lugar para ver un ejemplo de uso.

QPlaceReply *QPlaceManager::initializeCategories()

Inicializa las categorías del gestor.

Consulte Uso de categorías para ver un ejemplo de uso.

QList<QLocale> QPlaceManager::locales() const

Devuelve una lista de localizaciones preferidas. Las configuraciones regionales se utilizan para indicar al gestor en qué idioma deben devolverse los detalles del lugar y la categoría.

Si no se puede utilizar la primera configuración regional especificada, el gestor pasa a la siguiente y así sucesivamente. Es posible que algunos gestores no admitan un conjunto de configuraciones regionales definidas de forma rígida. Un ejemplo arbitrario es que algunos lugares de Francia podrían tener localizaciones en francés e inglés, mientras que ciertas zonas de América sólo podrían tener disponible la localización en inglés. En este ejemplo, el conjunto de localizaciones admitidas depende del contexto del lugar de búsqueda.

Si el gestor no puede acomodar ninguna de las localizaciones preferidas, el gestor vuelve a utilizar un idioma soportado que es específico del backend.

La compatibilidad con las configuraciones regionales puede variar de un proveedor a otro. Para aquellos que sí lo soportan, por defecto, la configuración regional global por defecto se establece como la única configuración regional del gestor.

Para los gestores que no soportan locales, la lista de locales está siempre vacía.

Véase también setLocales().

QString QPlaceManager::managerName() const

Devuelve el nombre del gestor

int QPlaceManager::managerVersion() const

Devuelve la versión del gestor.

QPlaceMatchReply *QPlaceManager::matchingPlaces(const QPlaceMatchRequest &request) const

Devuelve una respuesta que contiene una lista de lugares que corresponden/coinciden con los especificados en request. Los lugares especificados en la solicitud proceden de un gestor diferente.

QString QPlaceManager::parentCategoryId(const QString &categoryId) const

Devuelve el identificador de categoría padre de la categoría correspondiente a categoryId.

[signal] void QPlaceManager::placeAdded(const QString &placeId)

Esta señal se emite si se ha añadido un lugar al almacén de datos del motor de gestión. El lugar concreto añadido se especifica en placeId.

Esta señal sólo la emiten los gestores que soportan QPlaceManager::NotificationsFeature.

Véase también dataChanged().

[signal] void QPlaceManager::placeRemoved(const QString &placeId)

Esta señal se emite si se ha eliminado un lugar del almacén de datos del gestor. El lugar concreto que se ha eliminado se especifica en placeId.

Esta señal sólo la emiten los gestores que soportan QPlaceManager::NotificationsFeature.

Véase también dataChanged().

[signal] void QPlaceManager::placeUpdated(const QString &placeId)

Esta señal se emite si se ha modificado un lugar en el almacén de datos del gestor. El lugar concreto modificado se especifica en placeId.

Esta señal sólo la emiten los gestores que soportan QPlaceManager::NotificationsFeature.

Véase también dataChanged().

QPlaceIdReply *QPlaceManager::removeCategory(const QString &categoryId)

Elimina del gestor la categoría correspondiente a categoryId.

Consulte Eliminar una categoría para ver un ejemplo de uso.

QPlaceIdReply *QPlaceManager::removePlace(const QString &placeId)

Elimina del gestor el lugar correspondiente a placeId.

Véase Eliminar un lugar cpp para ver un ejemplo de uso.

QPlaceIdReply *QPlaceManager::saveCategory(const QPlaceCategory &category, const QString &parentId = QString())

Guarda un category que es hijo de la categoría especificada por parentId. Un parentId vacío significa que category se guarda como categoría de nivel superior.

Consulte Guardar una categoría para ver un ejemplo de uso.

QPlaceIdReply *QPlaceManager::savePlace(const QPlace &place)

Guarda un place especificado.

Véase Guardar un lugar cpp para un ejemplo de uso.

Busca lugares según los parámetros especificados en request.

Consulte Descubrimiento/Búsqueda para ver un ejemplo de uso.

QPlaceSearchSuggestionReply *QPlaceManager::searchSuggestions(const QPlaceSearchRequest &request) const

Solicita un conjunto de sugerencias de términos de búsqueda según los parámetros especificados en request. request puede contener el término de búsqueda incompleto, junto con otros datos como un área de búsqueda para acotar los resultados relevantes.

Consulte Sugerencias de búsqueda para ver un ejemplo de uso.

void QPlaceManager::setLocale(const QLocale &locale)

Función de conveniencia que establece la lista de configuraciones regionales preferidas del gestor en un único locale.

void QPlaceManager::setLocales(const QList<QLocale> &locales)

Establece la lista de preferidos locales.

Véase también locales().

© 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.