DirectionManeuver Class

  • DirectionManeuver
  • class Esri::ArcGISRuntime::DirectionManeuver

    Information about a specific maneuver that must be made in a Route. More...

    Header: #include <DirectionManeuver.h>
    Since: Esri::ArcGISRuntime 100.0

    Public Functions

    DirectionManeuver()
    DirectionManeuver(const Esri::ArcGISRuntime::DirectionManeuver &other)
    DirectionManeuver(Esri::ArcGISRuntime::DirectionManeuver &&other)
    ~DirectionManeuver()
    QList<Esri::ArcGISRuntime::DirectionEvent> directionEvents() const
    Esri::ArcGISRuntime::DirectionManeuverType directionManeuverType() const
    QString directionText() const
    double duration() const
    QDateTime estimatedArrivalTime() const
    double estimatedArrivalTimeShift() const
    int fromLevel() const
    Esri::ArcGISRuntime::Geometry geometry() const
    bool isEmpty() const
    double length() const
    QList<Esri::ArcGISRuntime::DirectionMessage> maneuverMessages() const
    int toLevel() const
    Esri::ArcGISRuntime::DirectionManeuver &operator=(const Esri::ArcGISRuntime::DirectionManeuver &other)
    Esri::ArcGISRuntime::DirectionManeuver &operator=(Esri::ArcGISRuntime::DirectionManeuver &&other)

    Detailed Description

    A Route contains a list of DirectionManeuvers that must be made. Each DirectionManeuver contains information such as a DirectionEvent, DirectionMessage, and DirectionType. These are useful for producing turn by turn directions for a Route.

    Examples of a DirectionManeuver include "Turn left", "Sharp right", or "Make a U-turn".

    Relevant samples:

    • Find route: Display directions for a route between two points.
    • Navigate route: Use a routing service to navigate between points.
    • Navigate route with rerouting: Navigate between two points and dynamically recalculate an alternate route when the original route is unavailable.

    Member Function Documentation

    DirectionManeuver::DirectionManeuver()

    Default constructor.

    Warning: This is for convenience only and will construct an empty object.

    DirectionManeuver::DirectionManeuver(const Esri::ArcGISRuntime::DirectionManeuver &other)

    Copy constructor from other DirectionManeuver.

    DirectionManeuver::DirectionManeuver(Esri::ArcGISRuntime::DirectionManeuver &&other)

    Move constructor from other DirectionManeuver.

    DirectionManeuver::~DirectionManeuver()

    Destructor.

    QList<Esri::ArcGISRuntime::DirectionEvent> DirectionManeuver::directionEvents() const

    Returns a list of DirectionEvents (e.g. passing state boundaries).

    Esri::ArcGISRuntime::DirectionManeuverType DirectionManeuver::directionManeuverType() const

    Returns the maneuver used to perform this direction (e.g. Depart, Go Straight, and so on).

    QString DirectionManeuver::directionText() const

    Returns the textual representation of a direction (e.g. "Turn right on Main Street").

    double DirectionManeuver::duration() const

    Returns the duration of a DirectionManeuver in minutes.

    QDateTime DirectionManeuver::estimatedArrivalTime() const

    Returns the estimated arrival time for this DirectionManeuver of the route in UTC time.

    double DirectionManeuver::estimatedArrivalTimeShift() const

    Returns the time zone shift of estimated arrival time for this segment of the route in minutes.

    [since Esri::ArcGISRuntime 100.2] int DirectionManeuver::fromLevel() const

    Returns the logical level at the start of the maneuver.

    For maneuvers that go up or down levels, such as going from floor 1 to floor 2 in a building's stairwell, the from-level value signifies the start level of the maneuver. For example, to go from floor 1 to floor 2, the from-level would be 1 and the to-level would be 2. If these values are in the source data, the directions engine can give a descriptive instruction for the maneuver, such as "go up the stairs." If the values are not provided, a -1 value is used, signifying that no levels are defined for maneuvers.

    This function was introduced in Esri::ArcGISRuntime 100.2.

    Esri::ArcGISRuntime::Geometry DirectionManeuver::geometry() const

    Returns a geometry that represents the maneuver type in directions, such as a left turn or traveling in a straight line.

    The geometry for the route direction.

    bool DirectionManeuver::isEmpty() const

    Returns true if this DirectionManeuver is empty.

    double DirectionManeuver::length() const

    Returns the length of this DirectionManeuver.

    The returned value's units is determined by what is set in RouteParameters::directionsDistanceUnits.

    QList<Esri::ArcGISRuntime::DirectionMessage> DirectionManeuver::maneuverMessages() const

    Returns a list of detailed direction messages for this DirectionManeuver.

    [since Esri::ArcGISRuntime 100.2] int DirectionManeuver::toLevel() const

    Returns the logical level at the end of the maneuver.

    For maneuvers that go up or down levels, such as going from floor 1 to floor 2 in a building's stairwell, the to-level value signifies the ending level of the maneuver. For example, to go from floor 1 to floor 2, the from-level would be 1 and the to-level would be 2. If these values are in the source data, the directions engine can give a descriptive instruction for the maneuver, such as "go up the stairs." If the values are not provided, a -1 value is used, signifying that no levels are defined for maneuvers.

    This function was introduced in Esri::ArcGISRuntime 100.2.

    Esri::ArcGISRuntime::DirectionManeuver &DirectionManeuver::operator=(const Esri::ArcGISRuntime::DirectionManeuver &other)

    Assignment operator from other DirectionManeuver.

    Esri::ArcGISRuntime::DirectionManeuver &DirectionManeuver::operator=(Esri::ArcGISRuntime::DirectionManeuver &&other)

    Move operator from other DirectionManeuver.

    Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.

    You can no longer sign into this site. Go to your ArcGIS portal or the ArcGIS Location Platform dashboard to perform management tasks.

    Your ArcGIS portal

    Create, manage, and access API keys and OAuth 2.0 developer credentials, hosted layers, and data services.

    Your ArcGIS Location Platform dashboard

    Manage billing, monitor service usage, and access additional resources.

    Learn more about these changes in the What's new in Esri Developers June 2024 blog post.

    Close