QGeoRouteRequest Class

The QGeoRouteRequest class represents the parameters and restrictions which define a request for routing information. 更多...

头: #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 )

详细描述

The default state of a QGeoRouteRequest instance will result in a request for basic route segment and navigation maneuvers describing the fastest route by car which covers the given waypoints.

There may be significant variation in the features supported by different providers of routing information, or even in the features supported by the same provider if different levels of authorization are used.

There are several functions in QGeoRoutingManager which can be used to check which features are supported with the current provider and authorization level.

另请参阅 QGeoRoutingManager .

成员类型文档编制

enum QGeoRouteRequest:: FeatureType
flags QGeoRouteRequest:: FeatureTypes

Defines a feature which is important to the planning of a route.

These values will be used in combination with QGeoRouteRequest::FeatureWeight to determine if they should or should not be part of the route.

常量 描述
QGeoRouteRequest::NoFeature 0x00000000 Used by QGeoRoutingManager::supportedFeatureTypes () to indicate that no features will be taken into account when planning the route.
QGeoRouteRequest::TollFeature 0x00000001 Consdier tollways when planning the route.
QGeoRouteRequest::HighwayFeature 0x00000002 Consider highways when planning the route.
QGeoRouteRequest::PublicTransitFeature 0x00000004 Consider public transit when planning the route.
QGeoRouteRequest::FerryFeature 0x00000008 Consider ferries when planning the route.
QGeoRouteRequest::TunnelFeature 0x00000010 Consider tunnels when planning the route.
QGeoRouteRequest::DirtRoadFeature 0x00000020 Consider dirt roads when planning the route.
QGeoRouteRequest::ParksFeature 0x00000040 Consider parks when planning the route.
QGeoRouteRequest::MotorPoolLaneFeature 0x00000080 Consider motor pool lanes when planning the route.
QGeoRouteRequest::TrafficFeature 0x00000100 Consider the current traffic situation when planning the route. Since QtLocation 5.10

The FeatureTypes type is a typedef for QFlags <FeatureType>. It stores an OR combination of FeatureType values.

enum QGeoRouteRequest:: FeatureWeight
flags QGeoRouteRequest:: FeatureWeights

Defines the weight to associate with a feature during the planning of a route.

These values will be used in combination with QGeoRouteRequest::Feature to determine if they should or should not be part of the route.

常量 描述
QGeoRouteRequest::NeutralFeatureWeight 0x00000000 The presence or absence of the feature will not affect the planning of the route.
QGeoRouteRequest::PreferFeatureWeight 0x00000001 Routes which contain the feature will be preferred over those that do not.
QGeoRouteRequest::RequireFeatureWeight 0x00000002 Only routes which contain the feature will be considered, otherwise no route will be returned.
QGeoRouteRequest::AvoidFeatureWeight 0x00000004 Routes which do not contain the feature will be preferred over those that do.
QGeoRouteRequest::DisallowFeatureWeight 0x00000008 Only routes which do not contain the feature will be considered, otherwise no route will be returned.

The FeatureWeights type is a typedef for QFlags <FeatureWeight>. It stores an OR combination of FeatureWeight values.

enum QGeoRouteRequest:: ManeuverDetail
flags QGeoRouteRequest:: ManeuverDetails

Defines the amount of maneuver information that should be included with the route.

常量 描述
QGeoRouteRequest::NoManeuvers 0x0000 No maneuvers should be included with the route.
QGeoRouteRequest::BasicManeuvers 0x0001 Basic manevuers will be included with the route. This will include QGeoManeuver::instructionText ().

The ManeuverDetails type is a typedef for QFlags <ManeuverDetail>. It stores an OR combination of ManeuverDetail values.

enum QGeoRouteRequest:: RouteOptimization
flags QGeoRouteRequest:: RouteOptimizations

Defines the type of optimization which is applied to the planning of the route.

常量 描述
QGeoRouteRequest::ShortestRoute 0x0001 Minimize the length of the journey.
QGeoRouteRequest::FastestRoute 0x0002 Minimize the traveling time for the journey.
QGeoRouteRequest::MostEconomicRoute 0x0004 Minimize the cost of the journey.
QGeoRouteRequest::MostScenicRoute 0x0008 Maximize the scenic potential of the journey.

The RouteOptimizations type is a typedef for QFlags <RouteOptimization>. It stores an OR combination of RouteOptimization values.

enum QGeoRouteRequest:: SegmentDetail
flags QGeoRouteRequest:: SegmentDetails

Defines the amount of route segment information that should be included with the route.

常量 描述
QGeoRouteRequest::NoSegmentData 0x0000 No segment data should be included with the route. A route requested with this level of segment detail will initialize QGeoRouteSegment::path () as a straight line between the positions of the previous and next QGeoManeuver 实例。
QGeoRouteRequest::BasicSegmentData 0x0001 Basic segment data will be included with the route. This will include QGeoRouteSegment::path ().

The SegmentDetails type is a typedef for QFlags <SegmentDetail>. It stores an OR combination of SegmentDetail values.

enum QGeoRouteRequest:: TravelMode
flags QGeoRouteRequest:: TravelModes

Defines modes of travel to be used for a route.

常量 描述
QGeoRouteRequest::CarTravel 0x0001 The route will be optimized for someone who is driving a car.
QGeoRouteRequest::PedestrianTravel 0x0002 The route will be optimized for someone who is walking.
QGeoRouteRequest::BicycleTravel 0x0004 The route will be optimized for someone who is riding a bicycle.
QGeoRouteRequest::PublicTransitTravel 0x0008 The route will be optimized for someone who is making use of public transit.
QGeoRouteRequest::TruckTravel 0x0010 The route will be optimized for someone who is driving a truck.

The TravelModes type is a typedef for QFlags <TravelMode>. It stores an OR combination of TravelMode values.

成员函数文档编制

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

Constructs a request to calculate a route through the coordinates waypoints .

The route will traverse the objects of waypoints in order.

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

Constructs a request to calculate a route between origin and destination .

[noexcept] QGeoRouteRequest:: QGeoRouteRequest (const QGeoRouteRequest & other )

Constructs a route request object from the contents of other .

[noexcept] QGeoRouteRequest:: ~QGeoRouteRequest ()

Destroys the request.

QDateTime QGeoRouteRequest:: departureTime () const

Returns the departure time in the request.

另请参阅 setDepartureTime ().

QList < QGeoRectangle > QGeoRouteRequest:: excludeAreas () const

Returns areas the route must not cross.

另请参阅 setExcludeAreas ().

QList < QGeoRouteRequest::FeatureType > QGeoRouteRequest:: featureTypes () const

Returns the list of features that will be considered when planning the route. Features with a weight of NeutralFeatureWeight will not be returned.

QGeoRouteRequest::FeatureWeight QGeoRouteRequest:: featureWeight ( QGeoRouteRequest::FeatureType featureType ) const

Returns the weight assigned to featureType in the planning of the route.

If no feature weight has been specified for featureType then NeutralFeatureWeight 将被返回。

另请参阅 setFeatureWeight ().

QGeoRouteRequest::ManeuverDetail QGeoRouteRequest:: maneuverDetail () const

Returns the level of detail which will be used in the representation of routing maneuvers.

另请参阅 setManeuverDetail ().

int QGeoRouteRequest:: numberAlternativeRoutes () const

Returns the number of alternative routes which will be requested.

另请参阅 setNumberAlternativeRoutes ().

QGeoRouteRequest::RouteOptimizations QGeoRouteRequest:: routeOptimization () const

Returns the optimization criteria which this request specifies should be used while planning the route.

另请参阅 setRouteOptimization ().

QGeoRouteRequest::SegmentDetail QGeoRouteRequest:: segmentDetail () const

Returns the level of detail which will be used in the representation of routing segments.

另请参阅 setSegmentDetail ().

void QGeoRouteRequest:: setDepartureTime (const QDateTime & departureTime )

Sets the departure time departureTime for the route calculation. This information can be used by the backend to calculate a faster route, for example, by avoiding traffic congestion during rush hour.

The default value is an invalid QDateTime .

另请参阅 departureTime ().

void QGeoRouteRequest:: setExcludeAreas (const QList < QGeoRectangle > & areas )

设置 areas as excluded areas that the route must not cross.

另请参阅 excludeAreas ().

void QGeoRouteRequest:: setFeatureWeight ( QGeoRouteRequest::FeatureType featureType , QGeoRouteRequest::FeatureWeight featureWeight )

Assigns the weight featureWeight to the feature featureType during the planning of the route.

By default all features are assigned a weight of NeutralFeatureWeight .

It is impossible to assign a weight to QGeoRouteRequest::NoFeature .

另请参阅 featureWeight ().

void QGeoRouteRequest:: setManeuverDetail ( QGeoRouteRequest::ManeuverDetail maneuverDetail )

Sets the level of detail to use when representing routing maneuvers to maneuverDetail .

默认值为 QGeoRouteRequest::BasicManeuvers .

另请参阅 maneuverDetail ().

void QGeoRouteRequest:: setNumberAlternativeRoutes ( int alternatives )

Sets the number of alternative routes to request to alternatives 。若 alternatives is negative the number of alternative routes is set to 0.

默认值为 0。

另请参阅 numberAlternativeRoutes ().

void QGeoRouteRequest:: setRouteOptimization ( QGeoRouteRequest::RouteOptimizations optimization )

Sets the optimization criteria to use while planning the route to optimization .

默认值为 QGeoRouteRequest::FastestRoute .

另请参阅 routeOptimization ().

void QGeoRouteRequest:: setSegmentDetail ( QGeoRouteRequest::SegmentDetail segmentDetail )

Sets the level of detail to use when representing routing segments to segmentDetail .

另请参阅 segmentDetail ().

void QGeoRouteRequest:: setTravelModes ( QGeoRouteRequest::TravelModes travelModes )

Sets the travel modes which should be considered during the planning of the route to travelModes .

默认值为 QGeoRouteRequest::CarTravel .

另请参阅 travelModes ().

void QGeoRouteRequest:: setWaypoints (const QList < QGeoCoordinate > & waypoints )

设置 waypoints as the waypoints that the route should pass through.

The waypoints should be given in order from origin to destination.

This request will be invalid until the waypoints have been set to a list containing two or more coordinates.

另请参阅 waypoints ().

QGeoRouteRequest::TravelModes QGeoRouteRequest:: travelModes () const

Returns the travel modes which this request specifies should be considered during the planning of the route.

另请参阅 setTravelModes ().

QList < QGeoCoordinate > QGeoRouteRequest:: waypoints () const

Returns the waypoints that the route will pass through.

另请参阅 setWaypoints ().

[noexcept] QGeoRouteRequest &QGeoRouteRequest:: operator= (const QGeoRouteRequest & other )

赋值 other to this route request object and then returns a reference to this route request object.

相关非成员

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

Returns whether the route requests lhs and rhs are not equal.

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

Returns whether the route requests lhs and rhs 相等。