本页内容

RouteQuery QML Type

RouteQuery 类型用于向RouteModel 提供查询参数。更多内容...

Import Statement: import QtLocation 6.12
Since: QtLocation 5.5

属性

方法

详细说明

RouteQuery 用于打包向路由服务发起请求所需的所有参数,该服务随后可据此填充RouteModel 的内容。

这些参数描述了路线的关键细节,例如要经过的waypoints 、要避开的excludedAreas 、正在使用的travelModes ,以及关于如何优化路线以及在路线上应优先选择或避开哪些功能(例如收费公路、高速公路等)的详细偏好设置。

RouteQuery 对象专用于填充RouteModel 的query 属性值,随后即可启动检索过程以填充模型。

某些插件可能允许或要求使用特定参数才能运行。为了指定这些插件特有的参数,可以在 RouteQuery 中嵌套 MapParameter 元素。

使用示例

以下代码片段展示了一个不完整的示例,演示了如何创建一个 RouteQuery 对象,并将其设置为RouteModel 的query 属性的值。

RouteQuery {
    id: aQuery
}

RouteModel {
    query: aQuery
    autoUpdate: false
}

如需更完整的示例,请参阅RouteModel 类型的文档以及Mapviewer示例。

另请参阅 RouteModel 。

属性文档

departureTime : date

查询路线时要使用的出发时间。默认值是一个无效的日期,这意味着查询中将不使用任何出发时间。

excludedAreas : list<geoRectangle>

路线不得穿越的区域。

排除区域可作为RouteQuery 类型声明的一部分进行设置,也可通过提供的函数动态设置。

另请参阅 addExcludedArea 、removeExcludedArea 以及clearExcludedAreas 。

featureTypes : QList<FeatureType> [read-only]

规划路线时将考虑的特征列表。权重为 NeutralFeatureWeight 的特征将不会被返回。

  • RouteQuery.NoFeature - 规划路线时不会考虑任何特征
  • RouteQuery.TollFeature - 规划路线时将考虑收费公路
  • RouteQuery.HighwayFeature - 规划路线时考虑高速公路
  • RouteQuery.PublicTransitFeature - 规划路线时考虑公共交通
  • RouteQuery.FerryFeature - 规划路线时将渡轮纳入考虑
  • RouteQuery.TunnelFeature - 规划路线时将隧道纳入考虑
  • RouteQuery.DirtRoadFeature - 规划路线时考虑土路
  • RouteQuery.ParksFeature - 规划路线时考虑公园
  • RouteQuery.MotorPoolLaneFeature - 规划路线时请考虑专用车道
  • RouteQuery.TrafficFeature - 规划路线时请考虑交通状况

另请参阅 setFeatureWeight 和featureWeight 。

maneuverDetail : enumeration

在表示航路操作时将采用的详细程度。

常量描述
RouteQuery.NoManeuvers路线中不应包含任何机动
RouteQuery.BasicManeuvers路线中将包含基本机动

默认值为RouteQuery.BasicManeuvers 。

numberAlternativeRoutes : int

在请求路线时所需的备选路线数量。默认值为 0。

routeOptimizations : enumeration

在规划路线时应考虑的路线优化方案。各项值可通过运算符 OR('|')进行组合。

常量描述
RouteQuery.ShortestRoute最小化行程距离
RouteQuery.FastestRoute将行程时间最小化
RouteQuery.MostEconomicRoute最小化行程成本
RouteQuery.MostScenicRoute最大化行程的景观潜力

默认值为RouteQuery.FastestRoute 。

segmentDetail : enumeration

在表示路由段时将采用的详细程度。

常量描述
RouteQuery.NoSegmentData路线中不应包含任何路段数据
RouteQuery.BasicSegmentData路线中将包含基本路段数据

默认值为RouteQuery.BasicSegmentData 。

travelModes : enumeration

在规划路线时应考虑的出行方式。值可以使用或(“|”)运算符进行组合。

常量描述
RouteQuery.CarTravel该路线将针对驾车出行者进行优化
RouteQuery.PedestrianTravel路线将针对步行者进行优化
RouteQuery.BicycleTravel路线将针对骑自行车的人进行优化
RouteQuery.PublicTransit出行该路线将针对公共交通出行者进行优化
RouteQuery.TruckTravel该路线将针对卡车驾驶者进行优化

默认值为RouteQuery.CarTravel 。

waypoints : list<coordinate>

目标路线的航点坐标。航点应按从起点到终点的顺序给出。需要两个或多个坐标。

航点可作为RouteQuery 类型声明的一部分进行设置,也可通过提供的函数动态设置。

另请参阅 addWaypoint 、removeWaypoint 和clearWaypoints 。

方法文档

void addExcludedArea(geoRectangle area)

将指定的geoRectangle area 添加到排除区域(即路线不得穿越的区域)中。同一区域只能添加一次。

另请参阅 removeExcludedArea 和clearExcludedAreas 。

void addWaypoint(coordinate)

将给定的coordinate 添加到航点列表中。同一坐标可以设置多次。

另请参阅 removeWaypoint 和clearWaypoints 。

void clearExcludedAreas()

清除所有被排除的区域(即路线不得穿越的区域)。

另请参阅 addExcludedArea 和removeExcludedArea 。

void clearWaypoints()

清除所有航点。

另请参阅 removeWaypoint 和addWaypoint 。

FeatureWeight featureWeight(FeatureType featureType)

获取featureType 的权重。

另请参阅 featureTypes 、setFeatureWeight 和resetFeatureWeights 。

void removeExcludedArea(geoRectangle area)

将指定的area 从排除区域(即路线不得穿越的区域)中移除。

另请参阅 addExcludedArea 和clearExcludedAreas 。

void removeWaypoint(coordinate)

从航点列表中移除指定的coordinate 。如果同一坐标出现多次,则移除最近添加的该坐标实例。

另请参阅 addWaypoint 和clearWaypoints 。

void resetFeatureWeights()

将所有特征权重重置为默认状态(NeutralFeatureWeight)。

另请参阅 featureTypes 、setFeatureWeight 和featureWeight 。

void setFeatureWeight(FeatureType feature, FeatureWeight weight)

定义在规划路线时与“feature ”关联的“weight ”。

以下列出了可能的特征权重:

常量描述
RouteQuery.NeutralFeatureWeight该要素的存在与否不影响路线规划
RouteQuery.PreferFeatureWeight包含该特征的路线优先于不包含该特征的路线
RouteQuery.RequireFeatureWeight仅考虑包含该特征的路线,否则不会返回任何路线
RouteQuery.AvoidFeatureWeight不包含该特征的路线优先于包含该特征的路线
RouteQuery.DisallowFeatureWeight仅考虑不包含该特征的路线,否则不会返回任何路线

另请参阅 featureTypes 、resetFeatureWeights 以及featureWeight 。

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