/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace LocationService { namespace Model { /** *

A summary of the calculated route.

See Also:

AWS * API Reference

*/ class CalculateRouteSummary { public: AWS_LOCATIONSERVICE_API CalculateRouteSummary(); AWS_LOCATIONSERVICE_API CalculateRouteSummary(Aws::Utils::Json::JsonView jsonValue); AWS_LOCATIONSERVICE_API CalculateRouteSummary& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_LOCATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

The data provider of traffic and road network data used to calculate the * route. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline const Aws::String& GetDataSource() const{ return m_dataSource; } /** *

The data provider of traffic and road network data used to calculate the * route. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline bool DataSourceHasBeenSet() const { return m_dataSourceHasBeenSet; } /** *

The data provider of traffic and road network data used to calculate the * route. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline void SetDataSource(const Aws::String& value) { m_dataSourceHasBeenSet = true; m_dataSource = value; } /** *

The data provider of traffic and road network data used to calculate the * route. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline void SetDataSource(Aws::String&& value) { m_dataSourceHasBeenSet = true; m_dataSource = std::move(value); } /** *

The data provider of traffic and road network data used to calculate the * route. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline void SetDataSource(const char* value) { m_dataSourceHasBeenSet = true; m_dataSource.assign(value); } /** *

The data provider of traffic and road network data used to calculate the * route. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline CalculateRouteSummary& WithDataSource(const Aws::String& value) { SetDataSource(value); return *this;} /** *

The data provider of traffic and road network data used to calculate the * route. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline CalculateRouteSummary& WithDataSource(Aws::String&& value) { SetDataSource(std::move(value)); return *this;} /** *

The data provider of traffic and road network data used to calculate the * route. Indicates one of the available providers:

  • * Esri

  • Grab

  • * Here

For more information about data providers, * see Amazon * Location Service data providers.

*/ inline CalculateRouteSummary& WithDataSource(const char* value) { SetDataSource(value); return *this;} /** *

The total distance covered by the route. The sum of the distance travelled * between every stop on the route.

If Esri is the data source for * the route calculator, the route distance can’t be greater than 400 km. If the * route exceeds 400 km, the response is a 400 * RoutesValidationException error.

*/ inline double GetDistance() const{ return m_distance; } /** *

The total distance covered by the route. The sum of the distance travelled * between every stop on the route.

If Esri is the data source for * the route calculator, the route distance can’t be greater than 400 km. If the * route exceeds 400 km, the response is a 400 * RoutesValidationException error.

*/ inline bool DistanceHasBeenSet() const { return m_distanceHasBeenSet; } /** *

The total distance covered by the route. The sum of the distance travelled * between every stop on the route.

If Esri is the data source for * the route calculator, the route distance can’t be greater than 400 km. If the * route exceeds 400 km, the response is a 400 * RoutesValidationException error.

*/ inline void SetDistance(double value) { m_distanceHasBeenSet = true; m_distance = value; } /** *

The total distance covered by the route. The sum of the distance travelled * between every stop on the route.

If Esri is the data source for * the route calculator, the route distance can’t be greater than 400 km. If the * route exceeds 400 km, the response is a 400 * RoutesValidationException error.

*/ inline CalculateRouteSummary& WithDistance(double value) { SetDistance(value); return *this;} /** *

The unit of measurement for route distances.

*/ inline const DistanceUnit& GetDistanceUnit() const{ return m_distanceUnit; } /** *

The unit of measurement for route distances.

*/ inline bool DistanceUnitHasBeenSet() const { return m_distanceUnitHasBeenSet; } /** *

The unit of measurement for route distances.

*/ inline void SetDistanceUnit(const DistanceUnit& value) { m_distanceUnitHasBeenSet = true; m_distanceUnit = value; } /** *

The unit of measurement for route distances.

*/ inline void SetDistanceUnit(DistanceUnit&& value) { m_distanceUnitHasBeenSet = true; m_distanceUnit = std::move(value); } /** *

The unit of measurement for route distances.

*/ inline CalculateRouteSummary& WithDistanceUnit(const DistanceUnit& value) { SetDistanceUnit(value); return *this;} /** *

The unit of measurement for route distances.

*/ inline CalculateRouteSummary& WithDistanceUnit(DistanceUnit&& value) { SetDistanceUnit(std::move(value)); return *this;} /** *

The total travel time for the route measured in seconds. The sum of the * travel time between every stop on the route.

*/ inline double GetDurationSeconds() const{ return m_durationSeconds; } /** *

The total travel time for the route measured in seconds. The sum of the * travel time between every stop on the route.

*/ inline bool DurationSecondsHasBeenSet() const { return m_durationSecondsHasBeenSet; } /** *

The total travel time for the route measured in seconds. The sum of the * travel time between every stop on the route.

*/ inline void SetDurationSeconds(double value) { m_durationSecondsHasBeenSet = true; m_durationSeconds = value; } /** *

The total travel time for the route measured in seconds. The sum of the * travel time between every stop on the route.

*/ inline CalculateRouteSummary& WithDurationSeconds(double value) { SetDurationSeconds(value); return *this;} /** *

Specifies a geographical box surrounding a route. Used to zoom into a route * when displaying it in a map. For example, [min x, min y, max x, max * y].

The first 2 bbox parameters describe the lower * southwest corner:

  • The first bbox position is the * X coordinate or longitude of the lower southwest corner.

  • The * second bbox position is the Y coordinate or latitude of the lower * southwest corner.

The next 2 bbox parameters * describe the upper northeast corner:

  • The third * bbox position is the X coordinate, or longitude of the upper * northeast corner.

  • The fourth bbox position is * the Y coordinate, or latitude of the upper northeast corner.

*/ inline const Aws::Vector& GetRouteBBox() const{ return m_routeBBox; } /** *

Specifies a geographical box surrounding a route. Used to zoom into a route * when displaying it in a map. For example, [min x, min y, max x, max * y].

The first 2 bbox parameters describe the lower * southwest corner:

  • The first bbox position is the * X coordinate or longitude of the lower southwest corner.

  • The * second bbox position is the Y coordinate or latitude of the lower * southwest corner.

The next 2 bbox parameters * describe the upper northeast corner:

  • The third * bbox position is the X coordinate, or longitude of the upper * northeast corner.

  • The fourth bbox position is * the Y coordinate, or latitude of the upper northeast corner.

*/ inline bool RouteBBoxHasBeenSet() const { return m_routeBBoxHasBeenSet; } /** *

Specifies a geographical box surrounding a route. Used to zoom into a route * when displaying it in a map. For example, [min x, min y, max x, max * y].

The first 2 bbox parameters describe the lower * southwest corner:

  • The first bbox position is the * X coordinate or longitude of the lower southwest corner.

  • The * second bbox position is the Y coordinate or latitude of the lower * southwest corner.

The next 2 bbox parameters * describe the upper northeast corner:

  • The third * bbox position is the X coordinate, or longitude of the upper * northeast corner.

  • The fourth bbox position is * the Y coordinate, or latitude of the upper northeast corner.

*/ inline void SetRouteBBox(const Aws::Vector& value) { m_routeBBoxHasBeenSet = true; m_routeBBox = value; } /** *

Specifies a geographical box surrounding a route. Used to zoom into a route * when displaying it in a map. For example, [min x, min y, max x, max * y].

The first 2 bbox parameters describe the lower * southwest corner:

  • The first bbox position is the * X coordinate or longitude of the lower southwest corner.

  • The * second bbox position is the Y coordinate or latitude of the lower * southwest corner.

The next 2 bbox parameters * describe the upper northeast corner:

  • The third * bbox position is the X coordinate, or longitude of the upper * northeast corner.

  • The fourth bbox position is * the Y coordinate, or latitude of the upper northeast corner.

*/ inline void SetRouteBBox(Aws::Vector&& value) { m_routeBBoxHasBeenSet = true; m_routeBBox = std::move(value); } /** *

Specifies a geographical box surrounding a route. Used to zoom into a route * when displaying it in a map. For example, [min x, min y, max x, max * y].

The first 2 bbox parameters describe the lower * southwest corner:

  • The first bbox position is the * X coordinate or longitude of the lower southwest corner.

  • The * second bbox position is the Y coordinate or latitude of the lower * southwest corner.

The next 2 bbox parameters * describe the upper northeast corner:

  • The third * bbox position is the X coordinate, or longitude of the upper * northeast corner.

  • The fourth bbox position is * the Y coordinate, or latitude of the upper northeast corner.

*/ inline CalculateRouteSummary& WithRouteBBox(const Aws::Vector& value) { SetRouteBBox(value); return *this;} /** *

Specifies a geographical box surrounding a route. Used to zoom into a route * when displaying it in a map. For example, [min x, min y, max x, max * y].

The first 2 bbox parameters describe the lower * southwest corner:

  • The first bbox position is the * X coordinate or longitude of the lower southwest corner.

  • The * second bbox position is the Y coordinate or latitude of the lower * southwest corner.

The next 2 bbox parameters * describe the upper northeast corner:

  • The third * bbox position is the X coordinate, or longitude of the upper * northeast corner.

  • The fourth bbox position is * the Y coordinate, or latitude of the upper northeast corner.

*/ inline CalculateRouteSummary& WithRouteBBox(Aws::Vector&& value) { SetRouteBBox(std::move(value)); return *this;} /** *

Specifies a geographical box surrounding a route. Used to zoom into a route * when displaying it in a map. For example, [min x, min y, max x, max * y].

The first 2 bbox parameters describe the lower * southwest corner:

  • The first bbox position is the * X coordinate or longitude of the lower southwest corner.

  • The * second bbox position is the Y coordinate or latitude of the lower * southwest corner.

The next 2 bbox parameters * describe the upper northeast corner:

  • The third * bbox position is the X coordinate, or longitude of the upper * northeast corner.

  • The fourth bbox position is * the Y coordinate, or latitude of the upper northeast corner.

*/ inline CalculateRouteSummary& AddRouteBBox(double value) { m_routeBBoxHasBeenSet = true; m_routeBBox.push_back(value); return *this; } private: Aws::String m_dataSource; bool m_dataSourceHasBeenSet = false; double m_distance; bool m_distanceHasBeenSet = false; DistanceUnit m_distanceUnit; bool m_distanceUnitHasBeenSet = false; double m_durationSeconds; bool m_durationSecondsHasBeenSet = false; Aws::Vector m_routeBBox; bool m_routeBBoxHasBeenSet = false; }; } // namespace Model } // namespace LocationService } // namespace Aws