RouteModel QML 类型
RouteModel 类型提供对路线的访问。 更多...
导入语句 | import QtLocation 6.7 |
自 | QtLocation 5.5 |
属性
- autoUpdate : bool
- count : int
- error : 枚举类型
- errorString : string
- measurementSystem : Locale::MeasurementSystem
- plugin : Plugin
- query : RouteQuery
- status : 枚举类型
方法
详细说明
RouteModel 类型用作模型/视图组合的一部分,以从后端提供程序检索地理路线。路线包括两点之间行驶方向、带多个途点的步行方向以及各种类似的概念的数据。它的工作方式类似于 QML 中的其他 Model 类型(例如,见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”,请注意,在RouteQuery对象中的任何更改都会触发发送新的请求。如果您在启用autoUpdate的情况下调整RouteQuery的许多属性,这可能会生成大量无用(并最终被丢弃)的请求。
count : int |
此属性表示模型当前拥有的路线数量。在其他用途中,您可以在通过QtLocation::RouteModel::get -方法访问路线时使用此值。
error : enumeration |
此只读属性保存了路由请求的最新错误值。
- RouteModel.NoError - 未发生错误。
- RouteModel.CommunicationError - 与服务提供商通信时发生错误。
- RouteModel.EngineNotSetError - 模型的插件属性未设置,或者没有与插件关联的路由管理器。
- RouteModel.MissingRequiredParameterError - 未指定所需的参数。
- RouteModel.ParseError - 服务提供商的响应格式不可识别。
- RouteModel.UnknownError - 发生了一个错误,该错误不适用于任何其他类别。
- RouteModel.UnknownParameterError - 插件没有识别它给出的参数之一。
- RouteModel.UnsupportedOptionError - 路由提供商不支持请求的操作。这可能发生在加载的引擎不支持特定类型的路由请求时。
errorString : string |
此只读属性保存了最新路由错误的文本表示。如果未发生错误或模型已重置,则返回空字符串。
如果发生有文本表示的错误,也可能返回空字符串。
measurementSystem : Locale::MeasurementSystem |
plugin : Plugin |
查询 : RouteQuery |
该属性包含路由请求的数据。主要数据包括航点坐标以及可能的进一步偏好(旅行方式、路线上的避免事项等)。
状态 : 枚举 |
此只读属性包含模型的当前状态。
- RouteModel.Null - 未发出任何路由请求或调用了reset方法。
- RouteModel.Ready - 路由请求已成功完成。
- RouteModel.Loading - 已发出路由请求,但尚未完成
- RouteModel.Error - 发生路由错误,详细信息在error和errorString
方法文档
void cancel() |
取消任何未完成的请求并清除错误。模型状态将设置为RouteModel.Null或RouteModel.Ready。
返回指定index的路由。使用count属性检查可用的路由数量。路由从零开始索引,因此可访问的范围是0...(count - 1)。
如果你访问越界,将返回一个空的路由并发出警告。
void reset() |
重置模型。所有路由数据将被清除,任何未完成的请求将中止,可能出现的错误将被清除。模型状态将设置为RouteModel.Null
void update() |
指示RouteModel更新其数据。当autoUpdate被禁用时,这非常有用,在查询变更时强制刷新。
© 2024 The Qt Company Ltd。本文件中包含的文档贡献归其各自所有者所有。本文件提供的文档是根据自由软件基金会发布的GNU自由文档许可证版本1.3许可的。Qt及其相关标志是芬兰的The Qt Company Ltd.以及/或世界其他国家的商标。所有其他商标均为其各自所有者的财产。