- Qt 6.9
- Qt Location
- C++ Classes
- QGeoManeuver
- Qt 6.9.2 Reference Documentation

# QGeoManeuver Class

The QGeoManeuver class represents the information relevant to the point at which two QGeoRouteSegments meet. More...

Header: | `#include <QGeoManeuver>`
qmake: | `QT += location`

- List of all members, including inherited members

## Public Types

enum | InstructionDirection { NoDirection, DirectionForward, DirectionBearRight, DirectionLightRight, DirectionRight, …, DirectionBearLeft }

## Properties

- direction : const InstructionDirection
- distanceToNextInstruction : const qreal
- `(since QtLocation 5.11)` extendedAttributes : const QVariantMap
- instructionText : const QString

- position : const QGeoCoordinate
- timeToNextInstruction : const int
- valid : const bool
- waypoint : const QGeoCoordinate

## Public Functions

| QGeoManeuver()
| QGeoManeuver(const QGeoManeuver &other)
| ~QGeoManeuver()
QGeoManeuver::InstructionDirection | direction() const
qreal | distanceToNextInstruction() const
QVariantMap | extendedAttributes() const
QString | instructionText() const
bool | isValid() const
QGeoCoordinate | position() const
int | timeToNextInstruction() const
QGeoCoordinate | waypoint() const
QGeoManeuver & | operator=(const QGeoManeuver &other)

## Related Non-Members

bool | operator!=(const QGeoManeuver &lhs, const QGeoManeuver &rhs)
bool | operator==(const QGeoManeuver &lhs, const QGeoManeuver &rhs)

## Detailed Description

QGeoRouteSegment instances can be thought of as edges on a routing graph, with QGeoManeuver instances as optional labels attached to the vertices of the graph.

The most interesting information help in a QGeoManeuver instance is normally the textual navigation to provide and the position at which to provide it, accessible by instructionText() and position() respectively.

It is also possible to determine if a routing waypoint has been passed by checking if waypoint() returns a valid QGeoCoordinate.

## Member Type Documentation

### enum QGeoManeuver::InstructionDirection

Describes the change in direction associated with the instruction text that is associated with a QGeoManaeuver.

Constant | Value | Description
--- | --- | ---
`QGeoManeuver::NoDirection` | `0` | There is no direction associated with the instruction text.
`QGeoManeuver::DirectionForward` | `1` | The instruction indicates that the direction of travel does not need to change.
`QGeoManeuver::DirectionBearRight` | `2` | The instruction indicates that the direction of travel should bear to the right.
`QGeoManeuver::DirectionLightRight` | `3` | The instruction indicates that a light turn to the right is required.
`QGeoManeuver::DirectionRight` | `4` | The instruction indicates that a turn to the right is required.
`QGeoManeuver::DirectionHardRight` | `5` | The instruction indicates that a hard turn to the right is required.
`QGeoManeuver::DirectionUTurnRight` | `6` | The instruction indicates that a u-turn to the right is required.
`QGeoManeuver::DirectionUTurnLeft` | `7` | The instruction indicates that a u-turn to the left is required.
`QGeoManeuver::DirectionHardLeft` | `8` | The instruction indicates that a hard turn to the left is required.
`QGeoManeuver::DirectionLeft` | `9` | The instruction indicates that a turn to the left is required.
`QGeoManeuver::DirectionLightLeft` | `10` | The instruction indicates that a light turn to the left is required.
`QGeoManeuver::DirectionBearLeft` | `11` | The instruction indicates that the direction of travel should bear to the left.

## Property Documentation

### `[read-only]` direction : const InstructionDirection

This property holds the direction associated with the associated instruction.

Access functions:

QGeoManeuver::InstructionDirection | direction() const

### `[read-only]` distanceToNextInstruction : const qreal

This property holds the distance, in meters, between the point at which this instruction was issued, and the point at which the next instruction should be issued.

Access functions:

qreal | distanceToNextInstruction() const

### `[read-only, since QtLocation 5.11]` extendedAttributes : const QVariantMap

This property holds the extended attributes associated with this maneuver.

This property was introduced in QtLocation 5.11.

Access functions:

QVariantMap | extendedAttributes() const

### `[read-only]` instructionText : const QString

This property holds the textual navigation instructions.

Access functions:

QString | instructionText() const

### `[read-only]` position : const QGeoCoordinate

This property holds the position where instructionText should be displayed.

Access functions:

QGeoCoordinate | position() const

### `[read-only]` timeToNextInstruction : const int

This property holds the estimated time, in seconds, that it will take to travel from the point at which the associated instruction was issued to the point at which the next instruction should be issued.

Access functions:

int | timeToNextInstruction() const

### `[read-only]` valid : const bool

This property holds whether this maneuver is valid or not.

Invalid maneuvers are used when there is no information that needs to be attached to the endpoint of a QGeoRouteSegment instance.

Access functions:

bool | isValid() const

### `[read-only]` waypoint : const QGeoCoordinate

This property holds the waypoint associated with this maneuver.

If there is not waypoint associated with this maneuver, then this property holds an invalid QGeoCoordinate.

Access functions:

QGeoCoordinate | waypoint() const

## Member Function Documentation

### QGeoManeuver::QGeoManeuver()

Constructs a invalid maneuver object.

The maneuver will remain invalid until one of setPosition(), setInstructionText(), setDirection(), setTimeToNextInstruction(), setDistanceToNextInstruction() or setWaypoint() is called.

### `[noexcept]` QGeoManeuver::QGeoManeuver(const QGeoManeuver &other)

Constructs a maneuver object from the contents of other.

### `[noexcept]` QGeoManeuver::~QGeoManeuver()

Destroys this maneuver object.

### QGeoManeuver &QGeoManeuver::operator=(const QGeoManeuver &other)

Assigns other to this maneuver object and then returns a reference to this maneuver object.

## Related Non-Members

### `[noexcept]` bool operator!=(const QGeoManeuver &lhs, const QGeoManeuver &rhs)

Returns whether the lhs maneuver is not equal to rhs.

### `[noexcept]` bool operator==(const QGeoManeuver &lhs, const QGeoManeuver &rhs)

Returns whether the lhs maneuver is equal to rhs.