RouteModel QML Type
El tipo RouteModel proporciona acceso a las rutas. Más...
| Import Statement: | import QtLocation 6.11 |
| Since: | QtLocation 5.5 |
Propiedades
- autoUpdate : bool
- count : int
- error : enumeration
- errorString : string
- measurementSystem : Locale::MeasurementSystem
- plugin : Plugin
- query : RouteQuery
- status : enumeration
Métodos
Descripción detallada
El tipo RouteModel se utiliza como parte de una agrupación modelo/vista para recuperar rutas geográficas de un proveedor backend. Las rutas incluyen datos sobre direcciones de conducción entre dos puntos, direcciones a pie con múltiples waypoints y otros conceptos similares. Funciona de forma muy similar a otros tipos de modelo en QML (véase, por ejemplo, ListModel), e interactúa con vistas como MapItemView, y ListView.
Al igual que Map y GeocodeModel, todos los datos para que funcione un RouteModel proceden de un plugin de servicios. Este está contenido en la propiedad plugin, y debe ser configurado antes de que el RouteModel pueda hacer cualquier trabajo útil.
Una vez establecido el plugin, cree un RouteQuery con los waypoints apropiados y otros ajustes, y establezca la propiedad query del RouteModel. Si autoUpdate está habilitado, la actualización se realizará automáticamente. En caso contrario, puede utilizarse el método update. Por defecto, autoUpdate está desactivado.
Los datos almacenados y devueltos en el RouteModel consisten en objetos route, como una lista con el nombre de rol "routeData". Consulte la documentación de route para 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 routeModel a false, y llamamos a update una vez que la consulta está configurada, para evitar peticiones adicionales inútiles a mitad de la configuración de la consulta.
Plugin {
id: aPlugin
name: "osm"
}
RouteQuery {
id: aQuery
}
RouteModel {
id: routeModel
plugin: aPlugin
query: aQuery
autoUpdate: false
}{
aQuery.addWaypoint(...)
aQuery.addWaypoint(...)
aQuery.travelModes = ...
routeModel.update()
}Documentación de propiedades
autoUpdate : bool
Esta propiedad controla si el Modelo se actualiza automáticamente en respuesta a los cambios en su RouteQuery adjunto. El valor por defecto de esta propiedad es 'false'.
Si establece este valor a 'true', tenga en cuenta que cualquier cambio en el objeto RouteQuery establecido en la propiedad query desencadenará el envío de una nueva solicitud. Si está ajustando muchas propiedades del RouteQuery con autoUpdate activado, esto puede generar un gran número de peticiones inútiles (y posteriormente descartadas).
count : int [read-only]
Esta propiedad contiene cuántas rutas tiene actualmente el modelo. Entre otros usos, puede utilizar este valor cuando acceda a las rutas mediante el método QtLocation::RouteModel::get.
error : enumeration [read-only]
Esta propiedad de sólo lectura contiene el último valor de error de la solicitud de enrutamiento.
- RouteModel.NoError - No se ha producido ningún error.
- RouteModelCommunicationError - Se ha producido un error al comunicarse con el proveedor de servicios.
- RouteModelEngineNotSetError - La propiedad plugin del modelo no se ha establecido o no hay ningún gestor de enrutamiento asociado con el plugin.
- RouteModelMissingRequiredParameterError - No se ha especificado un parámetro obligatorio.
- RouteModel.ParseError - La respuesta del proveedor de servicios estaba en un formato irreconocible.
- RouteModelUnknownError - Se ha producido un error que no encaja en ninguna de las otras categorías.
- RouteModelUnknownParameterError - El plugin no reconoció uno de los parámetros que se le dieron.
- RouteModel.UnsupportedOptionError - La operación solicitada no está soportada por el proveedor de enrutamiento. Esto puede ocurrir cuando el motor cargado no soporta un tipo particular de petición de enrutamiento.
errorString : string [read-only]
Esta propiedad de sólo lectura contiene la presentación textual del último error de enrutamiento. Si no se ha producido ningún error o se ha reiniciado 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.
measurementSystem : Locale::MeasurementSystem
Esta propiedad contiene el sistema de medida que se utilizará al calcular la ruta. Esta propiedad cambia cuando cambia la propiedad Plugin::locales de plugin.
Si se establece esta propiedad debe establecerse después de establecer la propiedad plugin.
plugin : Plugin
Esta propiedad contiene el plugin que proporciona el servicio de enrutamiento real. Tenga en cuenta que no todos los plugins proporcionan necesariamente enrutamiento (podrían, por ejemplo, proporcionar sólo geocodificación o mapas).
Antes de que RouteModel pueda realizar cualquier operación útil, debe establecerse un complemento válido.
Véase también Plugin.
query : RouteQuery
Esta propiedad contiene los datos de la solicitud de ruta. Los datos principales son las coordenadas del punto de ruta y otras posibles preferencias (medios de transporte, cosas que evitar en la ruta, etc.).
status : enumeration [read-only]
Esta propiedad de sólo lectura contiene el estado actual del modelo.
- RouteModel.Null - No se ha emitido ninguna solicitud de ruta ni se ha llamado a reset.
- RouteModel.Ready - La(s) solicitud(es) de ruta ha(n) finalizado con éxito.
- RouteModelLoading - La solicitud de ruta se ha emitido pero aún no ha finalizado.
- RouteModel.Error - Se ha producido un error de ruta, los detalles se encuentran en error y errorString
Documentación del método
void cancel()
Cancela las solicitudes pendientes y borra los errores. El estado del modelo será RouteModel.Null o RouteModel.Ready.
route get(int index)
Devuelve la ruta en el index especificado. Utilice la propiedad count para comprobar la cantidad de rutas disponibles. Las rutas 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 una ruta vacía y se emite una advertencia.
void reset()
Reinicia el modelo. Se borran todos los datos de la ruta, se cancela cualquier solicitud pendiente y se borran los posibles errores. El estado del modelo se establecerá en RouteModel.Null
void update()
Ordena a RouteModel 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.