QGeoRouteRequest 类

QGeoRouteRequest 类表示定义路由信息请求的参数和限制。更多...

头文件 #include <QGeoRouteRequest>
qmakeQT += location

公共类型

枚举FeatureType { NoFeature, TollFeature, HighwayFeature, PublicTransitFeature, FerryFeature, …, TrafficFeature }
标志FeatureTypes
枚举FeatureWeight { NeutralFeatureWeight, PreferFeatureWeight, RequireFeatureWeight, AvoidFeatureWeight, DisallowFeatureWeight }
标志FeatureWeights
枚举ManeuverDetail { NoManeuvers, BasicManeuvers }
标志ManeuverDetails
枚举RouteOptimization { ShortestRoute, FastestRoute, MostEconomicRoute, MostScenicRoute }
标志RouteOptimizations
枚举SegmentDetail { NoSegmentData, BasicSegmentData }
标志SegmentDetails
枚举TravelMode { CarTravel, PedestrianTravel, BicycleTravel, PublicTransitTravel, TruckTravel }
标志TravelModes

公共函数

QGeoRouteRequest(const QList<QGeoCoordinate> &waypoints = QList<QGeoCoordinate>())
QGeoRouteRequest(const QGeoCoordinate &origin, const QGeoCoordinate &destination)
QGeoRouteRequest(const QGeoRouteRequest &other)
~QGeoRouteRequest()
QDateTimedepartureTime() const
QList<QGeoRectangle>excludeAreas() const
QList<QGeoRouteRequest::FeatureType>featureTypes() const
QGeoRouteRequest::FeatureWeightfeatureWeight(QGeoRouteRequest::FeatureType featureType) const
QGeoRouteRequest::ManeuverDetailmaneuverDetail() const
intnumberAlternativeRoutes() const
QGeoRouteRequest::RouteOptimizationsrouteOptimization() const
QGeoRouteRequest::SegmentDetailsegmentDetail() const
voidsetDepartureTime(const QDateTime &departureTime)
voidsetExcludeAreas(const QList<QGeoRectangle> &areas)
voidsetFeatureWeight(QGeoRouteRequest::FeatureType featureType, QGeoRouteRequest::FeatureWeight featureWeight)
voidsetManeuverDetail(QGeoRouteRequest::ManeuverDetail maneuverDetail)
voidsetNumberAlternativeRoutes(int alternatives)
voidsetRouteOptimization(QGeoRouteRequest::RouteOptimizations optimization)
voidsetSegmentDetail(QGeoRouteRequest::SegmentDetail segmentDetail)
voidsetTravelModes(QGeoRouteRequest::TravelModes travelModes)
voidsetWaypoints(const QList<QGeoCoordinate> &waypoints)
QGeoRouteRequest::TravelModestravelModes() const
QList<QGeoCoordinate>waypoints() const
QGeoRouteRequest &operator=(const QGeoRouteRequest &other)
booloperator!=(const QGeoRouteRequest &lhs, const QGeoRouteRequest &rhs)
booloperator==(const QGeoRouteRequest &lhs, const QGeoRouteRequest &rhs)

详细描述

QGeoRouteRequest实例的默认状态将导致请求基本路线段和描述从给定航标覆盖的最快路线的导航动作。

不同的导航信息提供者支持的功能可能存在显著差异,甚至在使用不同授权级别时,同一家提供者支持的功能也可能有所不同。

QGeoRoutingManager中有几个函数可以用来检查当前提供者和授权级别支持哪些功能。

另请参阅QGeoRoutingManager.

成员类型文档

enum QGeoRouteRequest::FeatureType
flags QGeoRouteRequest::FeatureTypes

定义一个对路线规划重要的功能。

这些值将结合QGeoRouteRequest::FeatureWeight来确定它们是否应作为路线的一部分。

常数描述
QGeoRouteRequest::NoFeature0x00000000QGeoRoutingManager::supportedFeatureTypes使用,表示在规划路线时不考虑任何功能。
QGeoRouteRequest::TollFeature0x00000001规划路线时考虑收费道路。
QGeoRouteRequest::HighwayFeature0x00000002规划路线时考虑高速公路。
QGeoRouteRequest::PublicTransitFeature0x00000004规划路线时考虑公共交通。
QGeoRouteRequest::FerryFeature0x00000008规划路线时考虑渡轮。
QGeoRouteRequest::TunnelFeature0x00000010规划路线时考虑隧道。
QGeoRouteRequest::DirtRoadFeature0x00000020规划路线时考虑土路。
QGeoRouteRequest::ParksFeature0x00000040规划路线时考虑公园。
QGeoRouteRequest::MotorPoolLaneFeature0x00000080规划路线时考虑停车场。
QGeoRouteRequest::TrafficFeature0x00000100规划路线时考虑当前交通状况。自QtLocation 5.10起。

FeatureTypes类型是QFlags<FeatureType>的类型定义。它存储FeatureType值的或组合。

enum QGeoRouteRequest::FeatureWeight
flags QGeoRouteRequest::FeatureWeights

定义在路线规划期间要关联到功能上的权重。

这些值将与QGeoRouteRequest::Feature结合使用,以确定它们是否应包含在路径中。

常数描述
QGeoRouteRequest::NeutralFeatureWeight0x00000000功能的缺失或存在不会影响路径规划。
QGeoRouteRequest::PreferFeatureWeight0x00000001包含功能的路径将被优先考虑,而不包含功能的路径。
QGeoRouteRequest::RequireFeatureWeight0x00000002只有包含功能的路径会被考虑,否则不会返回任何路径。
QGeoRouteRequest::AvoidFeatureWeight0x00000004不包含功能的路径将被优先考虑,而包含功能的路径将不会被优先考虑。
QGeoRouteRequest::DisallowFeatureWeight0x00000008只有不包含功能的路径会被考虑,否则不会返回路径。

FeatureWeights类型是QFlags<FeatureWeight>的一个typedef。它存储了一个或组合的FeatureWeight值。

enum QGeoRouteRequest::ManeuverDetail
flags QGeoRouteRequest::ManeuverDetails

定义了应在路径中包含的操作信息量。

常数描述
QGeoRouteRequest::NoManeuvers0x0000路径中不应包含任何操作。
QGeoRouteRequest::BasicManeuvers0x0001路径中应包含基本操作。这将包括QGeoManeuver::instructionText()。

ManeuverDetails类型是QFlags<ManeuverDetail>的一个typedef。它存储了一个或组合的ManeuverDetail值。

enum QGeoRouteRequest::RouteOptimization
flags QGeoRouteRequest::RouteOptimizations

定义了应用于路径规划的优化类型。

常数描述
QGeoRouteRequest::ShortestRoute0x0001最小化行程长度。
QGeoRouteRequest::FastestRoute0x0002最小化行程时间。
QGeoRouteRequest::MostEconomicRoute0x0004最小化行程成本。
QGeoRouteRequest::MostScenicRoute0x0008最大化行程的风景潜力。

RouteOptimizations类型是QFlags<RouteOptimization>的一个typedef。它存储了一个或组合的RouteOptimization值。

enum QGeoRouteRequest::SegmentDetail
flags QGeoRouteRequest::SegmentDetails

定义了应在路径中包含的路径段信息量。

常数描述
QGeoRouteRequest::NoSegmentData0x0000路径中不应包含任何段数据。使用此级别的段详细度的路径请求将初始化QGeoRouteSegment::path()为一个直线路线,从上一个QGeoManeuver实例的位置到下一个实例的位置。
QGeoRouteRequest::BasicSegmentData0x0001路径中应包含基本段数据。这将包括QGeoRouteSegment::path

SegmentDetails类型是QFlags<SegmentDetail>的一个typedef。它存储了一个或组合的SegmentDetail值。

enum QGeoRouteRequest::TravelMode
flags QGeoRouteRequest::TravelModes

定义了用于路径的旅行方式。

常数描述
QGeoRouteRequest::CarTravel0x0001将针对驾驶车辆的人优化路径。
QGeoRouteRequest::PedestrianTravel0x0002将针对步行的人优化路径。
QGeoRouteRequest::BicycleTravel0x0004将针对骑自行车的人优化路径。
QGeoRouteRequest::PublicTransitTravel0x0008将针对使用公共交通的人优化路径。
QGeoRouteRequest::TruckTravel0x0010将针对驾驶卡车的人优化路径。

The TravelModes 类型是 QFlags<TravelMode> 的 typedef。它存储了 TravelMode 值的 OR 组合。

成员函数文档

[显式] QGeoRouteRequest::QGeoRouteRequest(const QList<QGeoCoordinate> &waypoints = QList<QGeoCoordinate>())

构建一个请求,用于通过给定的坐标 waypoints 计算路线。

路线将按顺序遍历 waypoints 中的对象。

QGeoRouteRequest::QGeoRouteRequest(const QGeoCoordinate &origin, const QGeoCoordinate &destination)

构建一个请求,用于在 origindestination 之间计算路线。

[异常] QGeoRouteRequest::QGeoRouteRequest(const QGeoRouteRequest &other)

other 的内容创建一个路线请求对象。

[异常] 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)

返回路由请求 lhsrhs 是否不相等。

[noexcept] bool operator==(const QGeoRouteRequest &lhs, const QGeoRouteRequest &rhs)

返回路由请求 lhsrhs 是否相等。

© 2024 The Qt Company Ltd. 本文档中的文档贡献是各自所有者的版权。本文件的文档根据自由软件基金会发布的 GNU自由文档许可协议版本1.3 许可。Qt及其相关标志是芬兰及/或其他国家的 The Qt Company Ltd 的商标。所有其他商标均为其各自所有者的财产。