GeocodeModel QML Type
Le type GeocodeModel fournit un support pour les opérations de recherche liées à l'information géographique. Plus d'informations...
| Import Statement: | import QtLocation 6.11 |
| Since: | QtLocation 5.5 |
Propriétés
- autoUpdate : bool
- bounds : geoShape
- count : int
- error : enumeration
- errorString : string
- limit : int
- offset : int
- plugin : Plugin
- query : QVariant
- status : enumeration
Signaux
Méthodes
Description détaillée
Le type GeocodeModel est utilisé dans le cadre d'un regroupement de modèles et de vues pour faire correspondre des adresses ou des chaînes de recherche à des emplacements géographiques. La manière dont les emplacements géographiques générés sont utilisés ou affichés est déterminée par les vues attachées au GeocodeModel (par exemple MapItemView ou ListView).
Comme pour Map et RouteModel, toutes les données nécessaires au fonctionnement d'un GeocodeModel proviennent d'un plugin de services. Celui-ci est contenu dans la propriété plugin et doit être défini avant que le GeocodeModel ne puisse effectuer un travail utile.
Une fois le plugin activé, la propriété query peut être utilisée pour spécifier l'adresse ou la chaîne de recherche à faire correspondre. Si autoUpdate est activé, le modèle mettra à jour ses résultats automatiquement. Dans le cas contraire, la méthode update peut être utilisée. Par défaut, autoUpdate est désactivé.
Les données stockées et renvoyées dans le GeocodeModel se composent d'objets Location, sous forme de liste avec le nom de rôle "locationData". Voir la documentation de Location pour plus de détails sur sa structure et son contenu.
Exemple d'utilisation
L'extrait suivant est en deux parties : il montre d'abord la déclaration des objets, puis un court morceau de code procédural qui les utilise. Nous définissons la propriété autoUpdate du modèle geocodeModel sur false, et appelons update une fois que la requête est configurée. Dans ce cas, comme nous utilisons une valeur de chaîne dans query, une seule mise à jour se produirait, même si autoUpdate était activé. Toutefois, si nous avions fourni un objet Address, nous aurions pu, par inadvertance, déclencher plusieurs requêtes en définissant ses propriétés.
Plugin {
id: aPlugin
}
GeocodeModel {
id: geocodeModel
plugin: aPlugin
autoUpdate: false
}{
geocodeModel.query = "53 Brandl St, Eight Mile Plains, Australia"
geocodeModel.update()
}Documentation sur les propriétés
autoUpdate : bool
Cette propriété détermine si le modèle est automatiquement mis à jour en réponse aux modifications de la requête qui lui est attachée. La valeur par défaut de cette propriété est false.
Si vous définissez cette valeur sur "true" et que vous utilisez une adresse ou des coordonnées comme requête, notez que toute modification des propriétés de l'objet déclenchera l'envoi d'une nouvelle requête. Si vous modifiez de nombreuses propriétés de l'objet alors que la fonction autoUpdate est activée, vous risquez de générer un grand nombre de demandes inutiles (qui seront ensuite rejetées).
bounds : geoShape
Cette propriété définit la zone de délimitation utilisée pour limiter les résultats à ceux qui se trouvent à l'intérieur de cette zone. Cette propriété est particulièrement utile si la requête n'est que partiellement remplie, car le service tentera de géocoder (à l'envers) toutes les correspondances pour les données spécifiées.
Les types acceptés sont geoRectangle et geoCircle.
count : int [read-only]
Cette propriété indique le nombre d'emplacements dont dispose actuellement le modèle. Cette valeur peut notamment être utilisée pour accéder aux emplacements via la méthode GeocodeModel::get.
error : enumeration [read-only]
Cette propriété en lecture seule contient la dernière valeur d'erreur de la demande de géocodage.
- GeocodeModel.NoError - Aucune erreur ne s'est produite.
- GeocodeModel.CombinationError - Une erreur s'est produite lors de la combinaison de résultats provenant de plusieurs sources.
- GeocodeModel.CommunicationError - Une erreur s'est produite lors de la communication avec le fournisseur de services.
- GeocodeModel.EngineNotSetError - La propriété du plugin du modèle n'a pas été définie ou aucun gestionnaire de géocodage n'est associé au plugin.
- GeocodeModelMissingRequiredParameterError - Un paramètre obligatoire n'a pas été spécifié.
- GeocodeModel.ParseError - La réponse du fournisseur de services est dans un format non reconnaissable.
- GeocodeModel.UnknownError - Une erreur s'est produite qui n'entre dans aucune des autres catégories.
- GeocodeModel.UnknownParameterError - Le plugin n'a pas reconnu l'un des paramètres qui lui ont été fournis.
- GeocodeModel.UnsupportedOptionError - L'opération demandée n'est pas supportée par le fournisseur de géocodage. Cela peut se produire lorsque le moteur chargé ne prend pas en charge une demande de géocodage particulière, telle que le géocodage inversé.
errorString : string [read-only]
Cette propriété en lecture seule contient la présentation textuelle de la dernière erreur de géocodage. Si aucune erreur ne s'est produite ou si le modèle a été réinitialisé, une chaîne vide est renvoyée.
Une chaîne vide peut également être renvoyée si une erreur s'est produite sans représentation textuelle associée.
limit : int
Cette propriété contient le nombre maximum de résultats. Les valeurs limit et offset ne s'appliquent qu'au géocodage de chaînes de caractères libres (c'est-à-dire qu'elles ne sont pas prises en compte lors de l'utilisation d'adresses ou de coordonnées dans la requête de recherche).
Si limit est égal à -1, l'ensemble des résultats sera renvoyé, sinon le nombre maximum de résultats sera renvoyé. Les résultats limit et offset peuvent être utilisés ensemble pour mettre en œuvre la pagination.
offset : int
Cette propriété indique qu'il ne faut pas renvoyer le premier numéro "offset" des résultats. Les valeurs limit et offset ne sont applicables qu'avec le géocodage de chaînes libres (c'est-à-dire qu'elles ne sont pas prises en compte lors de l'utilisation d'adresses ou de coordonnées dans la requête de recherche).
Les résultats limit et offset peuvent être utilisés ensemble pour mettre en œuvre la pagination.
plugin : Plugin
Cette propriété contient le plugin qui fournit le service de géocodage proprement dit. Notez que tous les plugins ne fournissent pas nécessairement le géocodage (ils peuvent par exemple fournir uniquement le routage ou les cartes).
Voir aussi Plugin.
query : QVariant
Cette propriété contient les données de la demande de géocodage. La propriété accepte trois types de requêtes qui déterminent à la fois les données et le type d'action à effectuer :
- Address - Géocodage (de l'adresse aux coordonnées)
- coordinate - Géocodage inversé (coordonnées vers adresse)
- string - Géocodage (de l'adresse aux coordonnées)
status : enumeration [read-only]
Cette propriété en lecture seule contient l'état actuel du modèle.
- GeocodeModel.Null - Aucune demande de géocodage n'a été émise ou reset n'a été appelé.
- GeocodeModel.Ready - La ou les demandes de géocodage se sont terminées avec succès.
- GeocodeModel.Loading - Une demande de géocodage a été émise mais n'est pas encore terminée.
- GeocodeModel.Error - Une erreur de géocodage s'est produite, les détails sont dans error et errorString
Documentation sur les signaux
locationsChanged()
Ce signal est émis lorsque les emplacements dans le modèle ont changé.
Remarque : le gestionnaire correspondant est onLocationsChanged.
Voir également count.
Documentation de la méthode
void cancel()
Annule les demandes en cours et efface les erreurs. L'état du modèle prend la valeur GeocodeModel.Null ou GeocodeModel.Ready.
Location get(int index)
Renvoie l'adresse Location à l'adresse index donnée. Utilisez la propriété count pour vérifier le nombre d'emplacements disponibles. Les emplacements sont indexés à partir de zéro, de sorte que la plage accessible est de 0...(count - 1).
En cas d'accès hors limites, un zéro (objet nul) est renvoyé et un avertissement est émis.
void reset()
Réinitialise le modèle. Toutes les données de localisation sont effacées, toutes les demandes en cours sont abandonnées et les erreurs éventuelles sont effacées. L'état du modèle sera défini sur GeocodeModel.Null
void update()
Demande à GeocodeModel de mettre à jour ses données. Cette fonction est particulièrement utile lorsque autoUpdate est désactivé, pour forcer une actualisation lorsque la requête a été modifiée.
© 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.