QPlaceManager Class
La classe `QPlaceManager` fournit l'interface qui permet aux clients d'accéder aux lieux stockés dans un backend spécifique. En savoir plus...
| Header: | #include <QPlaceManager> |
| qmake: | QT += location |
| Inherits: | QObject |
Fonctions publiques
| 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) |
Signaux
| 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) |
Description détaillée
Le tableau suivant présente un aperçu des fonctionnalités offertes par le QPlaceManager
| Fonctionnalité | Description |
|---|---|
| Recherche de lieux | À l’aide d’un ensemble de paramètres, tels qu’un terme de recherche et une zone de recherche, les lieux pertinents peuvent être proposés à l’utilisateur. |
| Catégories | Les lieux peuvent être classés dans différentes catégories. Le gestionnaire permet d'accéder à ces catégories. |
| Suggestions de termes de recherche | À partir d’un terme de recherche partiellement saisi, une liste de termes de recherche potentiels peut être proposée. |
| Recommandations | À partir d’un lieu existant, un ensemble de lieux similaires peut être proposé à l’utilisateur. |
| Contenu enrichi | Le contenu enrichi, tel que les images, les avis, etc., peut être consulté sous forme de pages. |
| Gestion des lieux ou des catégories | Les lieux et les catégories peuvent être enregistrés ou supprimés. Il est possible d'envoyer des notifications lorsque cela se produit. |
| Localisation | Différentes paramètres régionaux peuvent être spécifiés pour afficher les données relatives aux lieux dans différentes langues. |
Obtenir une instance de QPlaceManager
La création d’un QPlaceManager est facilitée par la classe ` QGeoServiceProvider`. Reportez-vous à la section Initialisation d’un gestionnaire pour voir un exemple de création d’un gestionnaire.
Interface asynchrone
La classe QPlaceManager fournit une abstraction du magasin de données contenant les informations relatives aux lieux. Les fonctions fournies par le QPlaceManager sont principalement asynchrones et suivent un modèle requête-réponse. En général, une requête est transmise au gestionnaire, composée d’un ensemble de paramètres variés, et un objet de réponse est créé. L’objet de réponse dispose d’un signal permettant d’indiquer que la requête est terminée ; une fois celle-ci terminée, la réponse contient les résultats de la requête, ainsi que les éventuelles erreurs survenues.
Une requête asynchrone est généralement traitée comme suit :
//1) Effectuer une requête appropriée
QPlaceSearchRequest searchRequest;
searchRequest.setSearchTerm("glace");
searchRequest.setSearchArea(QGeoCircle(QGeoCoordinate(12,34, 56,78)));
//2) Utiliser le gestionnaire pour lancer une requête et récupérer un objet de réponse
QPlaceSearchReply* searchReply = manager->search(searchRequest);
//3) Connecter l’objet-réponse à un slot qui est appelé une fois l’opération terminée
connect(searchReply, &QPlaceSearchReply::finished,
this, &RequestHandler::processSearchReply);
...
...
//4) Faire en sorte que le slot traite correctement les résultats de l'opération
void processSearchReply() {
if (searchReply->error()== QPlaceReply::NoError) {
for (const QPlaceSearchResult&result: searchReply->results()) {
if (result.type()== QPlaceSearchResult::PlaceResult)
qDebug() << "Title:" << result.title();
}
}
//5) Supprimer l'objet « reply » une fois l'opération terminée.
searchReply->deleteLater();
searchReply = nullptr;
}Consultez la section « Opérations courantes » pour obtenir une liste d’exemples illustrant l’utilisation de QPlaceManager.
Catégorie Initialisation
À un moment donné lors du démarrage d’une application, la fonction initializeCategories() doit être appelée pour configurer les catégories. L’initialisation des catégories permet d’utiliser les fonctions suivantes :
- QPlaceManager::childCategories()
- QPlaceManager::category()
- QPlaceManager::parentCategoryId()
- QPlaceManager::childCategoryIds();
Si les catégories doivent être actualisées ou rechargées, la fonction initializeCategories() peut être appelée à nouveau.
Documentation sur les fonctions membres
[virtual noexcept] QPlaceManager::~QPlaceManager()
Détruit le gestionnaire. Ce destructeur est utilisé en interne par QGeoServiceProvider et ne doit en aucun cas être appelé dans le code de l'application.
QPlaceCategory QPlaceManager::category(const QString &categoryId) const
Renvoie la catégorie correspondant à l'categoryId donné.
[signal] void QPlaceManager::categoryAdded(const QPlaceCategory &category, const QString &parentId)
Ce signal est émis lorsqu'un objet ` category ` a été ajouté au magasin de données du gestionnaire. Le parent de l'objet ` category ` est spécifié par ` parentId`.
Ce signal n'est émis que par les gestionnaires prenant en charge la fonctionnalité QPlaceManager::NotificationsFeature.
Voir également dataChanged().
[signal] void QPlaceManager::categoryRemoved(const QString &categoryId, const QString &parentId)
Ce signal est émis lorsque la catégorie correspondant à ` categoryId ` a été supprimée du magasin de données du gestionnaire. Le parent de la catégorie supprimée est spécifié par ` parentId`.
Ce signal n'est émis que par les gestionnaires prenant en charge la fonctionnalité QPlaceManager::NotificationsFeature.
Voir également dataChanged().
[signal] void QPlaceManager::categoryUpdated(const QPlaceCategory &category, const QString &parentId)
Ce signal est émis lorsqu'une catégorie ( category ) a été modifiée dans le magasin de données du gestionnaire. La catégorie parente de la catégorie modifiée est spécifiée par parentId.
Ce signal n'est émis que par les gestionnaires prenant en charge la fonctionnalité QPlaceManager::NotificationsFeature.
Voir également ` dataChanged()`.
QList<QPlaceCategory> QPlaceManager::childCategories(const QString &parentId = QString()) const
Renvoie une liste des catégories qui sont des sous-catégories de la catégorie correspondant à parentId. Si parentId est vide, toutes les catégories de premier niveau sont renvoyées.
QStringList QPlaceManager::childCategoryIds(const QString &parentId = QString()) const
Renvoie les identifiants des sous-catégories de la catégorie correspondant à parentId. Si parentId est vide, tous les identifiants des catégories de premier niveau sont renvoyés.
QPlace QPlaceManager::compatiblePlace(const QPlace &original) const
Renvoie une version allégée ou modifiée de l'objet « place » issu de original, adaptée pour être enregistrée dans ce gestionnaire.
Seules les informations sur le lieu prises en charge par ce gestionnaire sont présentes dans la version modifiée. Les données spécifiques au gestionnaire, telles que l'identifiant du lieu, ne sont pas copiées depuis original.
[signal] void QPlaceManager::dataChanged()
Ce signal est émis par le gestionnaire en cas de modifications à grande échelle de son magasin de données sous-jacent, lorsque celui-ci estime que ces modifications sont suffisamment importantes pour nécessiter que les clients rechargent l'intégralité des données.
Si ce signal est émis, aucun autre signal ne sera émis pour les modifications associées.
Ce signal n'est émis que par les gestionnaires prenant en charge l'interface QPlaceManager::NotificationsFeature.
[signal] void QPlaceManager::errorOccurred(QPlaceReply *reply, QPlaceReply::Error error, const QString &errorString = QString())
Ce signal est émis lorsqu'une erreur a été détectée lors du traitement de reply. Le signal QPlaceManager::finished() suivra probablement.
L'erreur sera décrite par le code d'erreur error. Si errorString n'est pas vide, il contiendra une description textuelle de l'erreur destinée aux développeurs et non aux utilisateurs finaux.
Ce signal et QPlaceReply::errorOccurred() seront émis simultanément.
Remarque : ne supprimezpas l’objet ` reply ` dans le slot connecté à ce signal. Utilisez plutôt la méthode ` deleteLater()`.
[signal] void QPlaceManager::finished(QPlaceReply *reply)
Ce signal est émis lorsque le traitement de ` reply ` est terminé.
Si reply->error() est égal à QPlaceReply::NoError, cela signifie que le traitement s'est terminé avec succès.
Ce signal et la fonction QPlaceReply::finished() seront émis simultanément.
Remarque : ne supprimez pas l'objet ` reply ` dans le slot connecté à ce signal. Utilisez plutôt ` deleteLater()`.
QPlaceContentReply *QPlaceManager::getPlaceContent(const QPlaceContentRequest &request) const
Récupère le contenu d’un lieu selon les paramètres spécifiés dans request.
Voir Récupération de contenu enrichi pour un exemple d'utilisation.
QPlaceDetailsReply *QPlaceManager::getPlaceDetails(const QString &placeId) const
Récupère les détails d'un lieu correspondant à l'placeId.
Voir « Récupération des détails d'un lieu » pour un exemple d'utilisation.
QPlaceReply *QPlaceManager::initializeCategories()
Initialise les catégories du gestionnaire.
Voir la section « Utilisation des catégories » pour un exemple d'utilisation.
QList<QLocale> QPlaceManager::locales() const
Renvoie une liste de paramètres régionaux préférés. Ces paramètres régionaux servent d'indication au gestionnaire pour déterminer la langue dans laquelle les détails relatifs au lieu et à la catégorie doivent être renvoyés.
Si la première locale spécifiée ne peut pas être prise en charge, le gestionnaire passe à la suivante, et ainsi de suite. Certains backends du gestionnaire peuvent ne pas prendre en charge un ensemble de locales défini de manière rigide. À titre d’exemple, certaines localités en France pourraient disposer de localisations en français et en anglais, tandis que certaines régions des États-Unis ne disposeraient que de la localisation en anglais. Dans cet exemple, l’ensemble des paramètres régionaux pris en charge dépend du contexte, c’est-à-dire du lieu de recherche.
Si le gestionnaire ne peut prendre en charge aucune des localisations préférées, il utilise alors une langue prise en charge spécifique au backend.
La prise en charge des paramètres régionaux peut varier d’un fournisseur à l’autre. Pour ceux qui la prennent en charge, par défaut, le paramètre régional global par défaut est défini comme le seul paramètre régional du gestionnaire.
Pour les gestionnaires qui ne prennent pas en charge les paramètres régionaux, la liste des paramètres régionaux est toujours vide.
Voir également setLocales().
QString QPlaceManager::managerName() const
Renvoie le nom du gestionnaire
int QPlaceManager::managerVersion() const
Renvoie la version du gestionnaire.
QPlaceMatchReply *QPlaceManager::matchingPlaces(const QPlaceMatchRequest &request) const
Renvoie une réponse contenant une liste des lieux qui correspondent à ceux spécifiés dans l'request. Les lieux spécifiés dans la requête proviennent d'un autre gestionnaire.
QString QPlaceManager::parentCategoryId(const QString &categoryId) const
Renvoie l'identifiant de la catégorie parente de la catégorie correspondant à categoryId.
[signal] void QPlaceManager::placeAdded(const QString &placeId)
Ce signal est émis lorsqu'un lieu a été ajouté au magasin de données du moteur de gestion. Le lieu ajouté est identifié par l'placeId.
Ce signal n'est émis que par les gestionnaires prenant en charge la fonctionnalité QPlaceManager::NotificationsFeature.
Voir également dataChanged().
[signal] void QPlaceManager::placeRemoved(const QString &placeId)
Ce signal est émis lorsqu'un lieu a été supprimé du magasin de données du gestionnaire. Le lieu concerné est spécifié par ` placeId`.
Ce signal n'est émis que par les gestionnaires prenant en charge la fonctionnalité QPlaceManager::NotificationsFeature.
Voir également dataChanged().
[signal] void QPlaceManager::placeUpdated(const QString &placeId)
Ce signal est émis lorsqu'un lieu a été modifié dans le magasin de données du gestionnaire. Le lieu concerné par la modification est spécifié par placeId.
Ce signal n'est émis que par les gestionnaires prenant en charge la fonctionnalité QPlaceManager::NotificationsFeature.
Voir également dataChanged().
QPlaceIdReply *QPlaceManager::removeCategory(const QString &categoryId)
Supprime du gestionnaire la catégorie correspondant à « categoryId ».
Voir « Supprimer une catégorie » pour un exemple d'utilisation.
QPlaceIdReply *QPlaceManager::removePlace(const QString &placeId)
Supprime de la liste de gestion l'emplacement correspondant à placeId.
Voir « Suppression d'un lieu cpp » pour un exemple d'utilisation.
QPlaceIdReply *QPlaceManager::saveCategory(const QPlaceCategory &category, const QString &parentId = QString())
Enregistre une « category » qui est une sous-catégorie de la catégorie spécifiée par « parentId ». Si « parentId » est vide, « category » est enregistrée en tant que catégorie de premier niveau.
Voir Enregistrer une catégorie pour un exemple d'utilisation.
QPlaceIdReply *QPlaceManager::savePlace(const QPlace &place)
Enregistre une instance d'place.
Voir « Enregistrer un emplacement cpp » pour un exemple d'utilisation.
QPlaceSearchReply *QPlaceManager::search(const QPlaceSearchRequest &request) const
Recherche des lieux selon les paramètres indiqués sur request.
Consultez la section « Découverte/Recherche » pour un exemple d'utilisation.
QPlaceSearchSuggestionReply *QPlaceManager::searchSuggestions(const QPlaceSearchRequest &request) const
Demande une liste de suggestions de termes de recherche en fonction des paramètres spécifiés dans request. L'request peut contenir le terme de recherche incomplet, ainsi que d'autres données telles qu'une zone de recherche permettant d'affiner les résultats pertinents.
Voir Suggestions de recherche pour un exemple d'utilisation.
void QPlaceManager::setLocale(const QLocale &locale)
Fonction pratique permettant de définir la liste des paramètres régionaux préférés du gestionnaire sur une seule valeur : locale.
void QPlaceManager::setLocales(const QList<QLocale> &locales)
Définissez la liste des sites préférés locales.
Voir aussi 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.