QGeoCodingManagerEngine Class
La classe `QGeoCodingManagerEngine` fournit une interface et des méthodes pratiques aux développeurs de plugins pour ` QGeoServiceProvider ` qui souhaitent prendre en charge les opérations de géocodage. En savoir plus…
| Header: | #include <QGeoCodingManagerEngine> |
| qmake: | QT += location |
| Inherits: | QObject |
Fonctions publiques
| QGeoCodingManagerEngine(const QVariantMap ¶meters, QObject *parent = nullptr) | |
| virtual | ~QGeoCodingManagerEngine() |
| virtual QGeoCodeReply * | geocode(const QGeoAddress &address, const QGeoShape &bounds) |
| virtual QGeoCodeReply * | geocode(const QString &address, int limit, int offset, const QGeoShape &bounds) |
| QLocale | locale() const |
| QString | managerName() const |
| int | managerVersion() const |
| virtual QGeoCodeReply * | reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds) |
| void | setLocale(const QLocale &locale) |
Signaux
| void | errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::Error error, const QString &errorString = QString()) |
| void | finished(QGeoCodeReply *reply) |
Description détaillée
Remarque : aucune garantie de compatibilité source ou binairen’est fournie pour les classes de backend. Le fonctionnement de l’API n’est garanti qu’avec la version de Qt sur laquelle elle a été développée. Les modifications de l’API ne seront toutefois apportées que dans les versions mineures (6.6, 6.7, etc.).
Dans l’implémentation par défaut, les méthodes `supportsGeocoding()` et `supportsReverseGeocoding()` renvoient `false`, tandis que ` geocode()` et ` reverseGeocode()` provoquent une exception ` QGeoCodeReply::UnsupportedOptionError `.
Si le fournisseur de services prend en charge le géocodage, la sous-classe doit fournir une implémentation de la méthode ` geocode()` et appeler `setSupportsGeocoding(true)` à un moment donné avant l’appel de ` geocode()`.
De même, si le fournisseur de services prend en charge le géocodage inversé, la sous-classe doit fournir une implémentation de reverseGeocode() et appeler setSupportsReverseGeocoding(true) à un moment donné avant l'appel de reverseGeocode().
Une sous-classe de `QGeoCodingManagerEngine` utilise souvent en interne une sous-classe de ` QGeoCodeReply `, afin d’ajouter des données spécifiques au moteur (telles qu’un objet ` QNetworkReply ` pour les services en réseau) aux instances de ` QGeoCodeReply ` utilisées par le moteur.
Voir également QGeoCodingManager.
Documentation des fonctions membres
[explicit] QGeoCodingManagerEngine::QGeoCodingManagerEngine(const QVariantMap ¶meters, QObject *parent = nullptr)
Crée un nouveau moteur avec l'parent spécifiée, en utilisant parameters pour transmettre au moteur toutes les données spécifiques à l'implémentation.
[virtual noexcept] QGeoCodingManagerEngine::~QGeoCodingManagerEngine()
Cela détruit ce moteur.
[signal] void QGeoCodingManagerEngine::errorOccurred(QGeoCodeReply *reply, QGeoCodeReply::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 QGeoCodingManagerEngine::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.
Ce signal et QGeoCodeReply::errorOccurred() seront émis simultanément.
Remarque : ne supprimezpas l’objet reply dans le slot connecté à ce signal. Utilisez plutôt la fonction deleteLater().
[signal] void QGeoCodingManagerEngine::finished(QGeoCodeReply *reply)
Ce signal est émis lorsque le traitement de ` reply ` est terminé.
Si reply::error() est égal à QGeoCodeReply::NoError, cela signifie que le traitement s'est terminé avec succès.
Ce signal et QGeoCodeReply::finished() seront émis simultanément.
Remarque : ne supprimezpas l’objet ` reply ` dans le slot connecté à ce signal. Utilisez plutôt ` deleteLater()`.
[virtual] QGeoCodeReply *QGeoCodingManagerEngine::geocode(const QGeoAddress &address, const QGeoShape &bounds)
Lance le géocodage de address. Le géocodage est le processus consistant à trouver les coordonnées correspondant à une adresse donnée.
Un objet QGeoCodeReply sera renvoyé ; il pourra être utilisé pour gérer l'opération de géocodage et pour renvoyer les résultats de celle-ci.
Ce moteur et l'objet ` QGeoCodeReply ` renvoyé émettront des signaux indiquant si l'opération s'est achevée ou si des erreurs se sont produites.
Si supportsGeocoding() renvoie « false », une exception de type « QGeoCodeReply::UnsupportedOptionError » sera levée.
Une fois l’opération terminée, la méthode ` QGeoCodeReply::locations()` peut être utilisée pour récupérer les résultats, qui se présenteront sous la forme d’une liste d’objets ` QGeoLocation `. Ces objets représentent une combinaison de données de coordonnées et d’adresses.
Les données d’adresse renvoyées dans les résultats peuvent différer de celles de ` address`. Cela se produit généralement si le service de géocodage utilise une forme canonique différente pour les adresses ou si l’objet ` address ` n’a été renseigné que partiellement.
Si bounds est non nul et constitue une QGeoShape valide, il sera utilisé pour limiter les résultats à ceux contenus dans bounds. Cela s’avère particulièrement utile si address n’est que partiellement renseigné, car le service tentera de géocoder toutes les correspondances avec les données spécifiées.
Il incombe à l’utilisateur de supprimer l’objet de réponse renvoyé, bien que cela puisse être effectué dans le slot associé à QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() ou QGeoCodeReply::errorOccurred() à l’aide de deleteLater().
[virtual] QGeoCodeReply *QGeoCodingManagerEngine::geocode(const QString &address, int limit, int offset, const QGeoShape &bounds)
Lance le géocodage pour un lieu correspondant à address.
Un objet ` QGeoCodeReply ` sera renvoyé ; il peut être utilisé pour gérer l'opération de géocodage et pour renvoyer les résultats de celle-ci.
Ce moteur et l’objet ` QGeoCodeReply ` renvoyé émettront des signaux indiquant si l’opération s’est achevée ou si des erreurs se sont produites.
Une fois l’opération terminée, la méthode QGeoCodeReply::locations() peut être utilisée pour récupérer les résultats, qui se présenteront sous la forme d’une liste d’objets QGeoLocation. Ces objets représentent une combinaison de données de coordonnées et d’adresses.
Si limit vaut -1, l’ensemble des résultats sera renvoyé ; dans le cas contraire, un maximum de limit résultats sera renvoyé.
Le paramètre ` offset ` sert à demander au service de géocodage de ne pas renvoyer les premiers résultats ` offset `.
Les paramètres limit et offset sont utilisés conjointement pour mettre en œuvre la pagination.
Si bounds est non nul et constitue un QGeoShape valide, il sera utilisé pour limiter les résultats à ceux contenus dans bounds.
Il incombe à l’utilisateur de supprimer l’objet de réponse renvoyé, bien que cela puisse être effectué dans le slot associé à QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() ou QGeoCodeReply::errorOccurred() à l’aide de deleteLater().
QLocale QGeoCodingManagerEngine::locale() const
Renvoie les paramètres régionaux utilisés pour indiquer à ce gestionnaire de géocodage quelle langue utiliser pour les résultats.
Voir également setLocale().
QString QGeoCodingManagerEngine::managerName() const
Renvoie le nom utilisé par cette implémentation du moteur pour se distinguer des implémentations fournies par d'autres plugins.
La combinaison de `managerName()` et ` managerVersion()` doit être unique parmi les implémentations de plugins.
int QGeoCodingManagerEngine::managerVersion() const
Renvoie la version de cette implémentation du moteur.
La combinaison de ` managerName()` et `managerVersion()` doit être unique parmi les implémentations de plugins.
[virtual] QGeoCodeReply *QGeoCodingManagerEngine::reverseGeocode(const QGeoCoordinate &coordinate, const QGeoShape &bounds)
Lance le géocodage inversé de coordinate. Le géocodage inversé consiste à trouver une adresse correspondant à des coordonnées données.
Un objet QGeoCodeReply sera renvoyé ; il pourra être utilisé pour gérer l’opération de géocodage inversé et pour renvoyer les résultats de l’opération.
Ce moteur et l’objet ` QGeoCodeReply ` renvoyé émettront des signaux indiquant si l’opération s’est terminée ou si des erreurs se sont produites.
Si supportsReverseGeocoding() renvoie « false », une exception « QGeoCodeReply::UnsupportedOptionError » sera levée.
À ce stade, la méthode ` QGeoCodeReply::locations()` peut être utilisée pour récupérer les résultats, qui consisteront en une liste d’objets ` QGeoLocation `. Ces objets représentent une combinaison de données de coordonnées et d’adresses.
Les données de coordonnées renvoyées dans les résultats peuvent différer de celles de ` coordinate`. Cela se produit généralement lorsque le service de géocodage inversé décale les coordonnées pour les rapprocher des adresses correspondantes, ou lorsque ce service renvoie des résultats à plusieurs niveaux de détail.
Si le backend du service de géocodage inverse renvoie plusieurs résultats, ceux-ci seront fournis par ordre de spécificité. Cela se produit généralement lorsque le backend est configuré pour effectuer un géocodage inverse à plusieurs niveaux de détail. À titre d’exemple, certains services renvoient des paires adresse-coordonnées pour l’adresse postale, la ville, la région et le pays.
Si ` bounds ` est non nul et constitue une ` QGeoShape ` valide, il sera utilisé pour limiter les résultats à ceux contenus dans ` bounds`.
L'utilisateur est chargé de supprimer l'objet de réponse renvoyé, bien que cela puisse être effectué dans le slot associé à QGeoCodingManagerEngine::finished(), QGeoCodingManagerEngine::errorOccurred(), QGeoCodeReply::finished() ou QGeoCodeReply::errorOccurred() à l'aide de deleteLater().
void QGeoCodingManagerEngine::setLocale(const QLocale &locale)
Définit les paramètres régionaux que ce gestionnaire doit utiliser sur locale.
Si ce gestionnaire de géocodage prend en charge le renvoi des résultats dans différentes langues, ceux-ci seront renvoyés dans la langue de locale.
Si aucune locale n’est définie, la locale du système est utilisée par défaut.
Voir également locale().
© 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.