RouteQuery QML Type | Qt Location | Qt 6.11.1
Description: The RouteQuery type is used to provide query parameters to a RouteModel.

- Qt 6.11
- Qt Location
- QML Types
- RouteQuery
- Qt 6.11.1 Reference Documentation

# RouteQuery QML Type

The RouteQuery type is used to provide query parameters to a RouteModel. More...

Import Statement: | `import QtLocation 6.11`
Since: | QtLocation 5.5

- List of all members, including inherited members

## Properties

- departureTime : date
- excludedAreas : list<geoRectangle>
- featureTypes : QList<FeatureType>
- maneuverDetail : enumeration
- numberAlternativeRoutes : int
- routeOptimizations : enumeration
- segmentDetail : enumeration
- travelModes : enumeration
- waypoints : list<coordinate>

## Methods

- void addExcludedArea(geoRectangle area)
- void addWaypoint(coordinate)
- void clearExcludedAreas()
- void clearWaypoints()
- FeatureWeight featureWeight(FeatureType featureType)
- void removeExcludedArea(geoRectangle area)
- void removeWaypoint(coordinate)
- void resetFeatureWeights()
- void setFeatureWeight(FeatureType feature, FeatureWeight weight)

## Detailed Description

A RouteQuery is used to pack all the parameters necessary to make a request to a routing service, which can then populate the contents of a RouteModel.

These parameters describe key details of the route, such as waypoints to pass through, excludedAreas to avoid, the travelModes in use, as well as detailed preferences on how to optimize the route and what features to prefer or avoid along the path (such as toll roads, highways, etc).

RouteQuery objects are used exclusively to fill out the value of a RouteModel's query property, which can then begin the retrieval process to populate the model.

Some plugins might allow or require specific parameters to operate. In order to specify these plugin-specific parameters, MapParameter elements can be nested inside a RouteQuery.

### Example Usage

The following snipped shows an incomplete example of creating a RouteQuery object and setting it as the value of a RouteModel's query property.

     RouteQuery {
         id: aQuery
     }

     RouteModel {
         query: aQuery
         autoUpdate: false
     }

For a more complete example, see the documentation for the RouteModel type, and the Mapviewer example.

See also RouteModel.

## Property Documentation

### departureTime : date

The departure time to be used when querying for the route. The default value is an invalid date, meaning no departure time will be used in the query.

### excludedAreas : list<geoRectangle>

Areas that the route must not cross.

Excluded areas can be set as part of the RouteQuery type declaration or dynamically with the functions provided.

See also addExcludedArea, removeExcludedArea, and clearExcludedAreas.

### featureTypes : QList<FeatureType> `[read-only]`

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

- RouteQuery.NoFeature - No features will be taken into account when planning the route
- RouteQuery.TollFeature - Consider tollways when planning the route
- RouteQuery.HighwayFeature - Consider highways when planning the route
- RouteQuery.PublicTransitFeature - Consider public transit when planning the route
- RouteQuery.FerryFeature - Consider ferries when planning the route
- RouteQuery.TunnelFeature - Consider tunnels when planning the route
- RouteQuery.DirtRoadFeature - Consider dirt roads when planning the route
- RouteQuery.ParksFeature - Consider parks when planning the route
- RouteQuery.MotorPoolLaneFeature - Consider motor pool lanes when planning the route
- RouteQuery.TrafficFeature - Consider traffic when planning the route

See also setFeatureWeight and featureWeight.

### maneuverDetail : enumeration

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

Constant | Description
--- | ---
`RouteQuery.NoManeuvers` | No maneuvers should be included with the route
`RouteQuery.BasicManeuvers` | Basic maneuvers will be included with the route

The default value is `RouteQuery.BasicManeuvers`.

### numberAlternativeRoutes : int

The number of alternative routes requested when requesting routes. The default value is 0.

### routeOptimizations : enumeration

The route optimizations which should be considered during the planning of the route. Values can be combined with OR ('|') -operator.

Constant | Description
--- | ---
`RouteQuery.ShortestRoute` | Minimize the length of the journey
`RouteQuery.FastestRoute` | Minimize the traveling time for the journey
`RouteQuery.MostEconomicRoute` | Minimize the cost of the journey
`RouteQuery.MostScenicRoute` | Maximize the scenic potential of the journey

The default value is `RouteQuery.FastestRoute`.

### segmentDetail : enumeration

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

Constant | Description
--- | ---
`RouteQuery.NoSegmentData` | No segment data should be included with the route
`RouteQuery.BasicSegmentData` | Basic segment data will be included with the route

The default value is `RouteQuery.BasicSegmentData`.

### travelModes : enumeration

The travel modes which should be considered during the planning of the route. Values can be combined with OR ('|') -operator.

Constant | Description
--- | ---
`RouteQuery.CarTravel` | The route will be optimized for someone who is driving a car
`RouteQuery.PedestrianTravel` | The route will be optimized for someone who is walking
`RouteQuery.BicycleTravel` | The route will be optimized for someone who is riding a bicycle
`RouteQuery.PublicTransit` | Travel The route will be optimized for someone who is making use of public transit
`RouteQuery.TruckTravel` | The route will be optimized for someone who is driving a truck

The default value is `RouteQuery.CarTravel`.

### waypoints : list<coordinate>

The coordinates of the waypoints for the desired route. The waypoints should be given in order from origin to destination. Two or more coordinates are needed.

Waypoints can be set as part of the RouteQuery type declaration or dynamically with the functions provided.

See also addWaypoint, removeWaypoint, and clearWaypoints.

## Method Documentation

### void addExcludedArea(geoRectangle area)

Adds the specified geoRectangle area to the excluded areas (areas that the route must not cross). The same area can only be added once.

See also removeExcludedArea and clearExcludedAreas.

### void addWaypoint(coordinate)

Appends the given coordinate to the list of waypoints. The same coordinate can be set multiple times.

See also removeWaypoint and clearWaypoints.

### void clearExcludedAreas()

Clears all excluded areas (areas that the route must not cross).

See also addExcludedArea and removeExcludedArea.

### void clearWaypoints()

Clears all waypoints.

See also removeWaypoint and addWaypoint.

### FeatureWeight featureWeight(FeatureType featureType)

Gets the weight for the featureType.

See also featureTypes, setFeatureWeight, and resetFeatureWeights.

### void removeExcludedArea(geoRectangle area)

Removes the given area from excluded areas (areas that the route must not cross).

See also addExcludedArea and clearExcludedAreas.

### void removeWaypoint(coordinate)

Removes the given coordinate from the list of waypoints. If the same coordinate appears multiple times, the most recently added coordinate instance is removed.

See also addWaypoint and clearWaypoints.

### void resetFeatureWeights()

Resets all feature weights to their default state (NeutralFeatureWeight).

See also featureTypes, setFeatureWeight, and featureWeight.

### void setFeatureWeight(FeatureType feature, FeatureWeight weight)

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

Following lists the possible feature weights:

Constant | Description
--- | ---
`RouteQuery.NeutralFeatureWeight` | The presence or absence of the feature does not affect the planning of the route
`RouteQuery.PreferFeatureWeight` | Routes which contain the feature are preferred over those that do not
`RouteQuery.RequireFeatureWeight` | Only routes which contain the feature are considered, otherwise no route will be returned
`RouteQuery.AvoidFeatureWeight` | Routes which do not contain the feature are preferred over those that do
`RouteQuery.DisallowFeatureWeight` | Only routes which do not contain the feature are considered, otherwise no route will be returned

See also featureTypes, resetFeatureWeights, and featureWeight.