RouteModel QML Type
RouteModel 类型提供对路线的访问。更多
Import Statement: | import QtLocation 6.9 |
Since: | QtLocation 5.5 |
属性
- autoUpdate : bool
- count : int
- error : enumeration
- errorString : string
- measurementSystem : Locale::MeasurementSystem
- plugin : Plugin
- query : RouteQuery
- status : enumeration
方法
详细说明
RouteModel 类型是模型/视图分组的一部分,用于从后端提供程序检索地理路线。路线包括两点之间的行车路线、有多个航点的步行路线以及其他类似概念的数据。它的功能很像 QML 中的其他模型类型(见ListModel 等),并与MapItemView 和ListView 等视图交互。
与Map 和GeocodeModel 一样,RouteModel 运行的所有数据都来自服务插件。服务插件包含在plugin 属性中,必须在 RouteModel 执行任何有用的工作之前设置好。
插件设置完成后,创建一个具有相应航点和其他设置的RouteQuery ,并设置 RouteModel 的query 属性。如果启用了autoUpdate ,更新将自动进行。否则,可以使用update 方法。默认情况下,autoUpdate 是禁用的。
RouteModel 中存储和返回的数据由route 对象组成,是一个角色名称为 "routeData "的列表。有关其结构和内容的详细信息,请参见route 文档。
使用示例
下面的代码段由两部分组成,首先是对象的声明,其次是使用对象的一段程序代码。我们将 routeModel 的autoUpdate 属性设置为 false,并在查询设置完成后调用update ,以避免在查询设置中途出现无用的额外请求。
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() }
属性文档
autoUpdate : bool |
此属性控制模型是否会根据所附RouteQuery 的变化自动更新。该属性的默认值为 false。
如果将此值设为 "true",请注意query 属性中设置的RouteQuery 对象的任何变化都会触发一个新请求。如果在启用自动更新的情况下调整RouteQuery 的许多属性,可能会产生大量无用(随后被丢弃)请求。
count : int |
该属性保存了模型当前拥有的路由数量。除其他用途外,您可以在通过 QtLocation::RouteModel::get 方法访问路由时使用此值。
error : enumeration |
此只读属性保存路由请求的最新错误值。
- RouteModelNoError.- 未发生错误。
- RouteModel.CommunicationError - 与服务提供者通信时发生错误。
- RouteModel.EngineNotSetError - 未设置模型的插件属性,或者没有与插件关联的路由管理器。
- RouteModel.MissingRequiredParameterError - 未指定必填参数。
- RouteModel.ParseError - 服务提供商的响应格式无法识别。
- RouteModel.UnknownError - 发生的错误不属于任何其他类别。
- RouteModel.UnknownParameterError - 插件无法识别所给参数之一。
- RouteModel.UnsupportedOptionError - 路由提供程序不支持请求的操作。当加载的引擎不支持特定类型的路由请求时,可能会出现这种情况。
errorString : string |
此只读属性保存最新路由错误的文字表述。如果未发生错误或模型已重置,则返回空字符串。
如果发生的错误没有相关的文字表述,则也会返回空字符串。
measurementSystem : Locale::MeasurementSystem |
该属性用于保存计算路线时使用的测量系统。当plugin 的Plugin::locales 属性发生变化时,该属性也会发生变化。
如果设置此属性,必须在plugin 属性设置后再设置。
plugin : Plugin |
该属性包含提供实际路由服务的插件。请注意,所有插件不一定都提供路由服务(例如,可能只提供地理编码或地图)。
在RouteModel 执行任何有用的操作之前,必须先设置一个有效的插件。
另请参阅 Plugin 。
query : RouteQuery |
该属性保存路由请求的数据。主要数据是航点坐标和可能的进一步偏好(旅行方式、路线上应避免的事物等)。
status : enumeration |
此只读属性保存模型的当前状态。
- RouteModel.Null - 未发出路线请求或未调用reset 。
- RouteModel.Ready - 路线请求已成功完成。
- RouteModel.Loading - 路由请求已发出但尚未完成
- RouteModel.Error - 路由错误已发生,详细信息请参阅error 和errorString
方法文档
void cancel() |
取消任何未完成的请求并清除错误。模型状态将设为RouteModel.Null 或RouteModel.Ready。
在指定的index 返回路由。使用count 属性可检查可用路由的数量。路由是从 0 开始索引的,因此可访问的范围是 0......(count - 1)。
如果访问超出范围,将返回空路由并发出警告。
void reset() |
重置模型。所有路由数据都会被清除,任何未执行的请求都会被中止,可能出现的错误也会被清除。模型状态将设置为RouteModel.Null
void update() |
指示RouteModel 更新其数据。当autoUpdate 禁用时,此功能最有用,可在查询发生更改时强制刷新。
© 2025 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.