En esta página

GeocodeModel QML Type

El tipo GeocodeModel proporciona soporte para operaciones de búsqueda relacionadas con información geográfica. Más...

Import Statement: import QtLocation 6.11
Since: QtLocation 5.5

Propiedades

Señales

Métodos

Descripción detallada

El tipo GeocodeModel se utiliza como parte de una agrupación modelo/vista para emparejar direcciones o cadenas de búsqueda con ubicaciones geográficas. El modo en que se utilizan o muestran las ubicaciones geográficas generadas lo deciden las vistas adjuntas al GeocodeModel (por ejemplo, MapItemView o ListView).

Al igual que Map y RouteModel, todos los datos para que un GeocodeModel funcione proceden de un plugin de servicios. Éste se encuentra en la propiedad plugin, y debe estar establecido antes de que el GeocodeModel pueda realizar cualquier trabajo útil.

Una vez establecido el plugin, la propiedad query se puede utilizar para especificar la dirección o la cadena de búsqueda que debe coincidir. Si autoUpdate está activado, el Modelo actualizará su salida automáticamente. En caso contrario, se puede utilizar el método update. Por defecto, autoUpdate está desactivado.

Los datos almacenados y devueltos en el GeocodeModel consisten en objetos Location, como una lista con el nombre de rol "locationData". Consulte la documentación de Location para obtener más detalles sobre su estructura y contenido.

Ejemplo de uso

El siguiente fragmento de código consta de dos partes: en primer lugar, se muestra la declaración de los objetos y, en segundo lugar, un breve fragmento de código de procedimiento que los utiliza. Establecemos la propiedad autoUpdate del geocodeModel a false, y llamamos a update una vez que la consulta está configurada. En este caso, como utilizamos un valor de cadena en query, sólo se produciría una actualización, incluso con autoUpdate activado. Sin embargo, si proporcionáramos un objeto Address podríamos desencadenar inadvertidamente múltiples peticiones al configurar sus propiedades.

Plugin {
    id: aPlugin
}

GeocodeModel {
    id: geocodeModel
    plugin: aPlugin
    autoUpdate: false
}
{
    geocodeModel.query = "53 Brandl St, Eight Mile Plains, Australia"
    geocodeModel.update()
}

Documentación de propiedades

autoUpdate : bool

Esta propiedad controla si el Modelo se actualiza automáticamente en respuesta a cambios en su consulta adjunta. El valor por defecto de esta propiedad es 'false'.

Si establece este valor a 'true' y utiliza una Dirección o coordenada como consulta, tenga en cuenta que cualquier cambio en las propiedades del objeto provocará el envío de una nueva petición. Si está ajustando muchas propiedades del objeto mientras autoUpdate está activado, esto puede generar un gran número de peticiones inútiles (y posteriormente descartadas).

bounds : geoShape

Esta propiedad contiene el área de delimitación utilizada para limitar los resultados a los que se encuentran dentro del área. Esto resulta especialmente útil si la consulta sólo se ha rellenado parcialmente, ya que el servicio intentará geocodificar (a la inversa) todas las coincidencias de los datos especificados.

Los tipos aceptados son geoRectangle y geoCircle.

count : int [read-only]

Esta propiedad contiene cuántas localizaciones tiene actualmente el modelo. Entre otros usos, puede utilizar este valor cuando acceda a ubicaciones mediante el método GeocodeModel::get.

error : enumeration [read-only]

Esta propiedad de sólo lectura contiene el último valor de error de la solicitud de geocodificación.

  • GeocodeModel.NoError - No se ha producido ningún error.
  • GeocodeModelCombinationError - Se ha producido un error al combinar resultados de varias fuentes.
  • GeocodeModelErrorDeComunicación - Se ha producido un error durante la comunicación con el proveedor de servicios.
  • GeocodeModelEngineNotSetError - No se ha establecido la propiedad del complemento del modelo o no hay ningún gestor de geocodificación asociado al complemento.
  • GeocodeModelMissingRequiredParameterError - No se ha especificado un parámetro obligatorio.
  • GeocodeModel.ParseError - La respuesta del proveedor de servicios tenía un formato irreconocible.
  • GeocodeModelUnknownError - Se ha producido un error que no encaja en ninguna de las otras categorías.
  • GeocodeModelUnknownParameterError - El plugin no reconoció uno de los parámetros que se le dieron.
  • GeocodeModel.UnsupportedOptionError - La operación solicitada no está soportada por el proveedor de geocodificación. Esto puede ocurrir cuando el motor cargado no admite una solicitud de geocodificación concreta, como la geocodificación inversa.

errorString : string [read-only]

Esta propiedad de sólo lectura contiene la presentación textual del último error de geocodificación. Si no se ha producido ningún error o se ha restablecido el modelo, se devuelve una cadena vacía.

También puede devolverse una cadena vacía si se ha producido un error que no tiene representación textual asociada.

limit : int

Esta propiedad contiene el número máximo de resultados. Los valores limit y offset sólo son aplicables con geocodificación de cadena libre (es decir, no se tienen en cuenta cuando se utilizan direcciones o coordenadas en la consulta de búsqueda).

Si limit es -1 se devolverá todo el conjunto de resultados, en caso contrario se devolverá como máximo el límite de resultados. Los resultados de limit y offset pueden utilizarse conjuntamente para implementar la paginación.

offset : int

Esta propiedad indica que no se devuelva el primer número 'offset' de los resultados. Los valores limit y offset sólo son aplicables con geocodificación de cadena libre (es decir, no se tienen en cuenta cuando se utilizan direcciones o coordenadas en la consulta de búsqueda).

Los resultados limit y offset pueden utilizarse juntos para implementar la paginación.

plugin : Plugin

Esta propiedad contiene el plugin que proporciona el servicio de geocodificación real. Tenga en cuenta que no todos los plugins proporcionan necesariamente geocodificación (podrían, por ejemplo, proporcionar sólo enrutamiento o mapas).

Véase también Plugin.

query : QVariant

Esta propiedad contiene los datos de la solicitud de geocodificación. La propiedad acepta tres tipos de consultas que determinan tanto los datos como el tipo de acción a realizar:

  • Dirección - Geocodificación (dirección a coordenada)
  • coordenada - Geocodificación inversa (coordenada a dirección)
  • cadena - Geocodificación (dirección a coordenada)

status : enumeration [read-only]

Esta propiedad de sólo lectura contiene el estado actual del modelo.

  • GeocodeModel.Null - No se ha emitido ninguna solicitud de geocodificación ni se ha llamado a reset.
  • GeocodeModel.Ready - La(s) solicitud(es) de geocodificación ha(n) finalizado con éxito.
  • GeocodeModelLoading - Se ha emitido una solicitud de geocodificación pero aún no ha finalizado.
  • GeocodeModel.Error - Se ha producido un error de geocodificación, los detalles se encuentran en error y errorString

Documentación de señales

locationsChanged()

Esta señal se emite cuando las ubicaciones en el modelo han cambiado.

Nota: El manejador correspondiente es onLocationsChanged.

Véase también count.

Documentación del método

void cancel()

Cancela las solicitudes pendientes y borra los errores. El estado del modelo será GeocodeModel.Null o GeocodeModel.Ready.

Location get(int index)

Devuelve el Location en el index dado. Utilice la propiedad count para comprobar la cantidad de ubicaciones disponibles. Las ubicaciones están indexadas desde cero, por lo que el rango accesible es 0...(count - 1).

Si se accede fuera de los límites, se devuelve un cero (objeto nulo) y se emite una advertencia.

void reset()

Reinicia el modelo. Se borran todos los datos de localización, se cancela cualquier solicitud pendiente y se borran los posibles errores. El estado del modelo se establecerá en GeocodeModel.Null

void update()

Ordena a GeocodeModel que actualice sus datos. Esto es muy útil cuando autoUpdate está desactivado, para forzar una actualización cuando la consulta ha cambiado.

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