RouteModel QML 类型

RouteModel 类型提供对路线的访问。 更多...

导入语句import QtLocation 6.7
QtLocation 5.5

属性

方法

详细说明

RouteModel 类型用作模型/视图组合的一部分,以从后端提供程序检索地理路线。路线包括两点之间行驶方向、带多个途点的步行方向以及各种类似的概念的数据。它的工作方式类似于 QML 中的其他 Model 类型(例如,见ListModel),并与MapItemViewListView等视图交互。

类似于MapGeocodeModel,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属性之后。


plugin : Plugin

该属性包含提供实际路由服务的插件。请注意,并非所有插件都提供路由功能(例如,可能只提供地理编码或地图)。

RouteModel能够执行任何有用的操作之前,必须设置一个有效的插件。

另请参阅插件


查询 : RouteQuery

该属性包含路由请求的数据。主要数据包括航点坐标以及可能的进一步偏好(旅行方式、路线上的避免事项等)。


状态 : 枚举 [只读]

此只读属性包含模型的当前状态。


方法文档

void cancel()

取消任何未完成的请求并清除错误。模型状态将设置为RouteModel.Null或RouteModel.Ready。


route get(int index)

返回指定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.以及/或世界其他国家的商标。所有其他商标均为其各自所有者的财产。