QGeoRouteRequest Class
QGeoRouteRequest 类表示用于定义路由信息请求的参数和限制条件。更多内容...
| Header: | #include <QGeoRouteRequest> |
| qmake: | QT += location |
公共类型
| enum | FeatureType { NoFeature, TollFeature, HighwayFeature, PublicTransitFeature, FerryFeature, …, TrafficFeature } |
| flags | FeatureTypes |
| enum | FeatureWeight { NeutralFeatureWeight, PreferFeatureWeight, RequireFeatureWeight, AvoidFeatureWeight, DisallowFeatureWeight } |
| flags | FeatureWeights |
| enum | ManeuverDetail { NoManeuvers, BasicManeuvers } |
| flags | ManeuverDetails |
| enum | RouteOptimization { ShortestRoute, FastestRoute, MostEconomicRoute, MostScenicRoute } |
| flags | RouteOptimizations |
| enum | SegmentDetail { NoSegmentData, BasicSegmentData } |
| flags | SegmentDetails |
| enum | TravelMode { CarTravel, PedestrianTravel, BicycleTravel, PublicTransitTravel, TruckTravel } |
| flags | TravelModes |
公共函数
| QGeoRouteRequest(const QList<QGeoCoordinate> &waypoints = QList<QGeoCoordinate>()) | |
| QGeoRouteRequest(const QGeoCoordinate &origin, const QGeoCoordinate &destination) | |
| QGeoRouteRequest(const QGeoRouteRequest &other) | |
| QGeoRouteRequest(QGeoRouteRequest &&other) | |
| ~QGeoRouteRequest() | |
| QDateTime | departureTime() const |
| QList<QGeoRectangle> | excludeAreas() const |
| QList<QGeoRouteRequest::FeatureType> | featureTypes() const |
| QGeoRouteRequest::FeatureWeight | featureWeight(QGeoRouteRequest::FeatureType featureType) const |
| QGeoRouteRequest::ManeuverDetail | maneuverDetail() const |
| int | numberAlternativeRoutes() const |
| QGeoRouteRequest::RouteOptimizations | routeOptimization() const |
| QGeoRouteRequest::SegmentDetail | segmentDetail() const |
| void | setDepartureTime(const QDateTime &departureTime) |
| void | setExcludeAreas(const QList<QGeoRectangle> &areas) |
| void | setFeatureWeight(QGeoRouteRequest::FeatureType featureType, QGeoRouteRequest::FeatureWeight featureWeight) |
| void | setManeuverDetail(QGeoRouteRequest::ManeuverDetail maneuverDetail) |
| void | setNumberAlternativeRoutes(int alternatives) |
| void | setRouteOptimization(QGeoRouteRequest::RouteOptimizations optimization) |
| void | setSegmentDetail(QGeoRouteRequest::SegmentDetail segmentDetail) |
| void | setTravelModes(QGeoRouteRequest::TravelModes travelModes) |
| void | setWaypoints(const QList<QGeoCoordinate> &waypoints) |
| QGeoRouteRequest::TravelModes | travelModes() const |
| QList<QGeoCoordinate> | waypoints() const |
| QGeoRouteRequest & | operator=(const QGeoRouteRequest &other) |
相关的非成员
| bool | operator!=(const QGeoRouteRequest &lhs, const QGeoRouteRequest &rhs) |
| bool | operator==(const QGeoRouteRequest &lhs, const QGeoRouteRequest &rhs) |
详细说明
QGeoRouteRequest 实例的默认状态将导致请求基本路线段和导航操作,以描述覆盖给定航点的最快驾车路线。
不同路线信息提供商所支持的功能可能存在显著差异,甚至同一提供商在不同的授权级别下所支持的功能也可能不同。
QGeoRoutingManager 中有几个函数可用于检查当前提供商和授权级别支持哪些功能。
另请参阅 QGeoRoutingManager 。
成员类型文档
enum QGeoRouteRequest::FeatureType
flags QGeoRouteRequest::FeatureTypes
定义了一个对路线规划至关重要的要素。
这些值将与QGeoRouteRequest::FeatureWeight 结合使用,以确定该要素是否应被纳入路线。
| 常量 | 值 | 描述 |
|---|---|---|
QGeoRouteRequest::NoFeature | 0x00000000 | 由QGeoRoutingManager::supportedFeatureTypes() 用于指示在规划路线时不会考虑任何要素。 |
QGeoRouteRequest::TollFeature | 0x00000001 | Consdier规划路线时考虑收费公路。 |
QGeoRouteRequest::HighwayFeature | 0x00000002 | 在规划路线时考虑高速公路。 |
QGeoRouteRequest::PublicTransitFeature | 0x00000004 | 在规划路线时考虑公共交通。 |
QGeoRouteRequest::FerryFeature | 0x00000008 | 在规划路线时考虑渡轮。 |
QGeoRouteRequest::TunnelFeature | 0x00000010 | 在规划路线时考虑隧道。 |
QGeoRouteRequest::DirtRoadFeature | 0x00000020 | 规划路线时,请考虑土路。 |
QGeoRouteRequest::ParksFeature | 0x00000040 | 规划路线时,请考虑公园。 |
QGeoRouteRequest::MotorPoolLaneFeature | 0x00000080 | 规划路线时,请考虑公交专用道。 |
QGeoRouteRequest::TrafficFeature | 0x00000100 | 规划路线时请考虑当前的交通状况。自QtLocation 5.10起 |
FeatureTypes 类型是QFlags<FeatureType> 的 typedef。它存储 FeatureType 值的“或”组合。
enum QGeoRouteRequest::FeatureWeight
flags QGeoRouteRequest::FeatureWeights
定义在规划路线时与某个要素关联的权重。
这些值将与 QGeoRouteRequest::Feature 结合使用,以确定这些要素是否应被纳入路线。
| 常量 | 值 | 描述 |
|---|---|---|
QGeoRouteRequest::NeutralFeatureWeight | 0x00000000 | 该要素的存在或缺失不会影响路线的规划。 |
QGeoRouteRequest::PreferFeatureWeight | 0x00000001 | 包含该要素的路线将优先于不包含该要素的路线。 |
QGeoRouteRequest::RequireFeatureWeight | 0x00000002 | 只有包含该特征的路线才会被考虑,否则不会返回任何路线。 |
QGeoRouteRequest::AvoidFeatureWeight | 0x00000004 | 不包含该特征的路线将优先于包含该特征的路线。 |
QGeoRouteRequest::DisallowFeatureWeight | 0x00000008 | 仅会考虑不包含该特征的路线,否则不会返回任何路线。 |
FeatureWeights 类型是QFlags<FeatureWeight> 的 typedef。它存储 FeatureWeight 值的“或”组合。
enum QGeoRouteRequest::ManeuverDetail
flags QGeoRouteRequest::ManeuverDetails
定义应包含在路线中的转向信息量。
| 常量 | 值 | 描述 |
|---|---|---|
QGeoRouteRequest::NoManeuvers | 0x0000 | 路线中不应包含任何机动操作。 |
QGeoRouteRequest::BasicManeuvers | 0x0001 | 路线中将包含基本机动。这将包括QGeoManeuver::instructionText()。 |
ManeuverDetails 类型是QFlags<ManeuverDetail> 的 typedef。它存储 ManeuverDetail 值的按“或”运算组合。
enum QGeoRouteRequest::RouteOptimization
flags QGeoRouteRequest::RouteOptimizations
定义应用于路线规划的优化类型。
| 常量 | 值 | 描述 |
|---|---|---|
QGeoRouteRequest::ShortestRoute | 0x0001 | 将行程长度最小化。 |
QGeoRouteRequest::FastestRoute | 0x0002 | 将行程时间最小化。 |
QGeoRouteRequest::MostEconomicRoute | 0x0004 | 使行程成本最小。 |
QGeoRouteRequest::MostScenicRoute | 0x0008 | 最大化行程的景观潜力。 |
RouteOptimizations 类型是QFlags<RouteOptimization> 的 typedef 定义。它存储 RouteOptimization 值的“或”组合。
enum QGeoRouteRequest::SegmentDetail
flags QGeoRouteRequest::SegmentDetails
定义应包含在路线中的路线路段信息量。
| 常量 | 值 | 描述 |
|---|---|---|
QGeoRouteRequest::NoSegmentData | 0x0000 | 路线中不应包含任何路段数据。请求此级别路段详细信息的路线将初始化 `QGeoRouteSegment::path()`,使其作为前一个和下一个 `QGeoManeuver ` 实例位置之间的直线。 |
QGeoRouteRequest::BasicSegmentData | 0x0001 | 路线中将包含基本路段数据。这将包括QGeoRouteSegment::path()。 |
SegmentDetails 类型是QFlags<SegmentDetail> 的 typedef。它存储 SegmentDetail 值的按“或”运算组合。
enum QGeoRouteRequest::TravelMode
flags QGeoRouteRequest::TravelModes
定义某条路线应采用的出行方式。
| 常量 | 值 | 描述 |
|---|---|---|
QGeoRouteRequest::CarTravel | 0x0001 | 该路线将针对驾车者进行优化。 |
QGeoRouteRequest::PedestrianTravel | 0x0002 | 该路线将针对步行者进行优化。 |
QGeoRouteRequest::BicycleTravel | 0x0004 | 该路线将针对骑自行车的人进行优化。 |
QGeoRouteRequest::PublicTransitTravel | 0x0008 | 该路线将针对乘坐公共交通工具的人进行优化。 |
QGeoRouteRequest::TruckTravel | 0x0010 | 该路线将针对驾驶卡车的人进行优化。 |
TravelModes 类型是QFlags<TravelMode> 的 typedef 定义。它存储 TravelMode 值的按“或”运算组合。
成员函数文档
[explicit] QGeoRouteRequest::QGeoRouteRequest(const QList<QGeoCoordinate> &waypoints = QList<QGeoCoordinate>())
构建一个请求,用于计算通过坐标waypoints 的路线。
该路线将按顺序穿越waypoints 中的对象。
QGeoRouteRequest::QGeoRouteRequest(const QGeoCoordinate &origin, const QGeoCoordinate &destination)
构建一个请求,用于计算从origin 到destination 的路线。
[noexcept] QGeoRouteRequest::QGeoRouteRequest(const QGeoRouteRequest &other)
根据other 中的内容构建一个路由请求对象。
[constexpr noexcept default] QGeoRouteRequest::QGeoRouteRequest(QGeoRouteRequest &&other)
通过Move构造一个QGeoRouteRequest 的实例。
[noexcept] QGeoRouteRequest::~QGeoRouteRequest()
销毁该请求。
QDateTime QGeoRouteRequest::departureTime() const
返回请求中的出发时间。
另请参阅 setDepartureTime()。
QList<QGeoRectangle> QGeoRouteRequest::excludeAreas() const
返回路线不得穿越的区域。
另请参阅 setExcludeAreas()。
QList<QGeoRouteRequest::FeatureType> QGeoRouteRequest::featureTypes() const
返回规划路线时将考虑的特征列表。权重为NeutralFeatureWeight 的特征将不会被返回。
QGeoRouteRequest::FeatureWeight QGeoRouteRequest::featureWeight(QGeoRouteRequest::FeatureType featureType) const
返回在路线规划中分配给featureType 的权重。
如果未为featureType 指定特征权重,则将返回NeutralFeatureWeight 。
另请参阅 setFeatureWeight()。
QGeoRouteRequest::ManeuverDetail QGeoRouteRequest::maneuverDetail() const
返回用于表示航路操作的详细程度。
另请参阅 setManeuverDetail()。
int QGeoRouteRequest::numberAlternativeRoutes() const
返回将请求的备选路线数量。
另请参阅 setNumberAlternativeRoutes()。
QGeoRouteRequest::RouteOptimizations QGeoRouteRequest::routeOptimization() const
返回该请求指定的、在规划路线时应采用的优化标准。
另请参阅 setRouteOptimization()。
QGeoRouteRequest::SegmentDetail QGeoRouteRequest::segmentDetail() const
返回在表示路由路段时将使用的详细程度。
另请参阅 setSegmentDetail()。
void QGeoRouteRequest::setDepartureTime(const QDateTime &departureTime)
设置路线计算的出发时间departureTime 。后端系统可利用此信息计算出更快捷的路线,例如避开高峰时段的交通拥堵。
默认值是一个无效的QDateTime 。
另请参阅 departureTime()。
void QGeoRouteRequest::setExcludeAreas(const QList<QGeoRectangle> &areas)
将areas 设置为路线不得穿越的排除区域。
另请参阅 excludeAreas()。
void QGeoRouteRequest::setFeatureWeight(QGeoRouteRequest::FeatureType featureType, QGeoRouteRequest::FeatureWeight featureWeight)
在规划路线时,将权重featureWeight 分配给特征featureType 。
默认情况下,所有特征都被赋予权重NeutralFeatureWeight 。
无法为QGeoRouteRequest::NoFeature 分配权重。
另请参阅 featureWeight()。
void QGeoRouteRequest::setManeuverDetail(QGeoRouteRequest::ManeuverDetail maneuverDetail)
将表示路由操作时使用的详细程度设置为maneuverDetail 。
默认值为QGeoRouteRequest::BasicManeuvers 。
另请参阅 maneuverDetail()。
void QGeoRouteRequest::setNumberAlternativeRoutes(int alternatives)
设置向alternatives 请求的备选路线数量。如果alternatives 为负数,则备选路线数量将设为 0。
默认值为 0。
另请参阅 numberAlternativeRoutes()。
void QGeoRouteRequest::setRouteOptimization(QGeoRouteRequest::RouteOptimizations optimization)
设置规划前往optimization 的路线时所使用的优化标准。
默认值为QGeoRouteRequest::FastestRoute 。
另请参阅 routeOptimization()。
void QGeoRouteRequest::setSegmentDetail(QGeoRouteRequest::SegmentDetail segmentDetail)
设置在将路由段呈现给segmentDetail 时使用的详细程度。
另请参阅 segmentDetail()。
void QGeoRouteRequest::setTravelModes(QGeoRouteRequest::TravelModes travelModes)
将路线规划时应考虑的出行模式设置为travelModes 。
默认值为QGeoRouteRequest::CarTravel 。
另请参阅 travelModes()。
void QGeoRouteRequest::setWaypoints(const QList<QGeoCoordinate> &waypoints)
将waypoints 设置为路线应经过的航点。
途经点应按从起点到终点的顺序给出。
在将路点设置为包含两个或更多坐标的列表之前,此请求将无效。
另请参阅 waypoints()。
QGeoRouteRequest::TravelModes QGeoRouteRequest::travelModes() const
返回该请求指定在规划路线时应考虑的出行方式。
另请参阅 setTravelModes()。
QList<QGeoCoordinate> QGeoRouteRequest::waypoints() const
返回该路线将经过的途经点。
另请参阅 setWaypoints()。
[noexcept] QGeoRouteRequest &QGeoRouteRequest::operator=(const QGeoRouteRequest &other)
将other 分配给此路由请求对象,然后返回对此路由请求对象的引用。
相关的非成员
[noexcept] bool operator!=(const QGeoRouteRequest &lhs, const QGeoRouteRequest &rhs)
返回路由请求lhs 和rhs 是否不相同。
[noexcept] bool operator==(const QGeoRouteRequest &lhs, const QGeoRouteRequest &rhs)
返回路线请求lhs 和rhs 是否相等。
© 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.