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() | |
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 。
成员类型文档
枚举 QGeoRouteRequest::FeatureType
标志 QGeoRouteRequest::FeatureTypes
定义对路线规划很重要的特征。
这些值将与QGeoRouteRequest::FeatureWeight 结合使用,以确定它们是否应成为路线的一部分。
常量 | 值 | 说明 |
---|---|---|
QGeoRouteRequest::NoFeature | 0x00000000 | 由QGeoRoutingManager::supportedFeatureTypes() 使用,表示规划路线时不考虑任何地物。 |
QGeoRouteRequest::TollFeature | 0x00000001 | 规划路线时考虑收费公路。 |
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> 的类型定义。它存储特征类型值的 OR 组合。
枚举 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> 的类型定义。它存储特征权重值的 OR 组合。
枚举 QGeoRouteRequest::ManeuverDetail
flags QGeoRouteRequest::ManeuverDetails
定义路由中应包含的机动信息量。
常量 | 值 | 说明 |
---|---|---|
QGeoRouteRequest::NoManeuvers | 0x0000 | 路由中不应包含任何机动信息。 |
QGeoRouteRequest::BasicManeuvers | 0x0001 | 路线中将包含基本机动信息。这将包括QGeoManeuver::instructionText(). |
ManeuverDetails 类型是QFlags<ManeuverDetail> 的类型定义。它存储 ManeuverDetail 值的 OR 组合。
枚举 QGeoRouteRequest::RouteOptimization
flags QGeoRouteRequest::RouteOptimizations
定义应用于路线规划的优化类型。
常量 | 值 | 描述 |
---|---|---|
QGeoRouteRequest::ShortestRoute | 0x0001 | 最小化行程长度。 |
QGeoRouteRequest::FastestRoute | 0x0002 | 行程时间最小化。 |
QGeoRouteRequest::MostEconomicRoute | 0x0004 | 旅程成本最小化。 |
QGeoRouteRequest::MostScenicRoute | 0x0008 | 最大化旅程的风景潜力。 |
RouteOptimizations 类型是QFlags<RouteOptimization> 的类型定义。它存储 RouteOptimization 值的 OR 组合。
枚举 QGeoRouteRequest::SegmentDetail
flags QGeoRouteRequest::SegmentDetails
定义应包含在路由中的路由段信息量。
常量 | 值 | 说明 |
---|---|---|
QGeoRouteRequest::NoSegmentData | 0x0000 | 路由中不应包含分段数据。使用此分段详细信息级别请求的路线将把QGeoRouteSegment::path() 初始化为上一个QGeoManeuver 实例和下一个 实例之间的一条直线。 |
QGeoRouteRequest::BasicSegmentData | 0x0001 | 路线将包含基本路段数据。其中包括QGeoRouteSegment::path()。 |
SegmentDetails 类型是QFlags<SegmentDetail> 的类型定义。它存储 SegmentDetail 值的 OR 组合。
枚举 QGeoRouteRequest::TravelMode
flags QGeoRouteRequest::TravelModes
定义路线使用的旅行模式。
常量 | 值 | 描述 |
---|---|---|
QGeoRouteRequest::CarTravel | 0x0001 | 该路径将针对驾驶汽车的人进行优化。 |
QGeoRouteRequest::PedestrianTravel | 0x0002 | 为步行者优化路线。 |
QGeoRouteRequest::BicycleTravel | 0x0004 | 为骑自行车的人优化路线。 |
QGeoRouteRequest::PublicTransitTravel | 0x0008 | 为乘坐公共交通的乘客优化路线。 |
QGeoRouteRequest::TruckTravel | 0x0010 | 为驾驶卡车的人优化路线。 |
TravelModes 类型是QFlags<TravelMode> 的类型定义。它存储 TravelMode 值的 OR 组合。
成员函数文档
[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 的内容构建路由请求对象。
[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)
在规划路线时,为地物featureType 分配权重featureWeight 。
默认情况下,所有地物的权重都是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 是否相等。
© 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.