Optimized Route
The Optimized Route service provides a quick computation of time and distance between a set of location sources and location targets and returns them in an optimized route order, along with the shape.
Description
Returns an optimized route stopping at each destination location exactly one time, always starting at the first location in the list and ending at the last location. This will result in a route with multiple legs. The optimized route service is useful for planning a route with multiple stops, such as a delivery route or a sightseeing tour.
tip
When using that, just use our Enterprise Dashboard or guild API Key to create your API Key try for free!
Base URL
https://mapapis.openmap.vn/v1
Endpoint
GET /optimized-route
Example
Request
/optimized-route?json={"locations":[{"lat":21.03624,"lon":105.77142},{"lat":21.0332607,"lon":105.7874323},{"lat":21.00329,"lon":105.81834},{"lat":21.02863,"lon":105.85164},{"lat":21.07517,"lon":105.81098},{"lat":21.03624,"lon":105.77142}],"costing":"auto","directions_options":{"units":"km"}}
Request params
Param | Description | Example |
---|---|---|
locations | The list of locations to visit. Each location must include a latitude and longitude in decimal degrees. | 21.03624,105.77142 |
costing | The costing model to use for the route. Options are auto , bicycle , pedestrian | auto |
directions_options | Options for the directions service. | {"units":"km"} |
Response
{
"trip": {
"locations": [
{
"type": "break",
"lat": 21.03624,
"lon": 105.77142,
"side_of_street": "left",
"original_index": 0
},
{
"type": "break",
"lat": 21.03326,
"lon": 105.787432,
"side_of_street": "right",
"original_index": 1
},
{
"type": "break",
"lat": 21.07517,
"lon": 105.81098,
"side_of_street": "left",
"original_index": 4
},
{
"type": "break",
"lat": 21.02863,
"lon": 105.85164,
"side_of_street": "left",
"original_index": 3
},
{
"type": "break",
"lat": 21.00329,
"lon": 105.81834,
"side_of_street": "left",
"original_index": 2
},
{
"type": "break",
"lat": 21.03624,
"lon": 105.77142,
"side_of_street": "left",
"original_index": 5
}
],
"legs": [
{
"maneuvers": [
{
"type": 3,
"instruction": "Drive southeast on Ngõ 5 Lê Đức Thọ.",
"verbal_succinct_transition_instruction": "Drive southeast. Then, in 200 meters, Turn left onto Phố Dương Khuê.",
"verbal_pre_transition_instruction": "Drive southeast on Ngõ 5 Lê Đức Thọ. Then, in 200 meters, Turn left onto Phố Dương Khuê.",
"verbal_post_transition_instruction": "Continue for 200 meters.",
"street_names": [
"Ngõ 5 Lê Đức Thọ"
],
"time": 23.85,
"length": 0.198,
"cost": 97.167,
"begin_shape_index": 0,
"end_shape_index": 5,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 15,
"instruction": "Turn left onto Phố Dương Khuê.",
"verbal_transition_alert_instruction": "Turn left onto Phố Dương Khuê.",
"verbal_succinct_transition_instruction": "Turn left.",
"verbal_pre_transition_instruction": "Turn left onto Phố Dương Khuê.",
"verbal_post_transition_instruction": "Continue for 300 meters.",
"street_names": [
"Phố Dương Khuê"
],
"time": 28.017,
"length": 0.28,
"cost": 74.369,
"begin_shape_index": 5,
"end_shape_index": 11,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto QL.32/Đường Hồ Tùng Mậu.",
"verbal_transition_alert_instruction": "Turn right onto QL.32.",
"verbal_succinct_transition_instruction": "Turn right.",
"verbal_pre_transition_instruction": "Turn right onto QL.32, Đường Hồ Tùng Mậu.",
"verbal_post_transition_instruction": "Continue for 1.5 kilometers.",
"street_names": [
"QL.32",
"Đường Hồ Tùng Mậu"
],
"time": 106.26,
"length": 1.624,
"cost": 272.471,
"begin_shape_index": 11,
"end_shape_index": 67,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Phố Trần Thái Tông.",
"verbal_transition_alert_instruction": "Turn right onto Phố Trần Thái Tông.",
"verbal_succinct_transition_instruction": "Turn right.",
"verbal_pre_transition_instruction": "Turn right onto Phố Trần Thái Tông.",
"verbal_post_transition_instruction": "Continue for 400 meters.",
"street_names": [
"Phố Trần Thái Tông"
],
"time": 26.128,
"length": 0.361,
"cost": 73.477,
"begin_shape_index": 67,
"end_shape_index": 84,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right.",
"verbal_transition_alert_instruction": "Turn right.",
"verbal_succinct_transition_instruction": "Turn right. Then, in 90 meters, Turn left onto Phố Dịch Vọng Hậu.",
"verbal_pre_transition_instruction": "Turn right. Then, in 90 meters, Turn left onto Phố Dịch Vọng Hậu.",
"verbal_post_transition_instruction": "Continue for 90 meters.",
"time": 16.47,
"length": 0.092,
"cost": 62.273,
"begin_shape_index": 84,
"end_shape_index": 87,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 15,
"instruction": "Turn left onto Phố Dịch Vọng Hậu.",
"verbal_transition_alert_instruction": "Turn left onto Phố Dịch Vọng Hậu.",
"verbal_succinct_transition_instruction": "Turn left. Then Your destination will be on the right.",
"verbal_pre_transition_instruction": "Turn left onto Phố Dịch Vọng Hậu. Then Your destination will be on the right.",
"verbal_post_transition_instruction": "Continue for 40 meters.",
"street_names": [
"Phố Dịch Vọng Hậu"
],
"time": 5.726,
"length": 0.041,
"cost": 21.556,
"begin_shape_index": 87,
"end_shape_index": 88,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 5,
"instruction": "Your destination is on the right.",
"verbal_transition_alert_instruction": "Your destination will be on the right.",
"verbal_pre_transition_instruction": "Your destination is on the right.",
"time": 0.0,
"length": 0.0,
"cost": 0.0,
"begin_shape_index": 88,
"end_shape_index": 88,
"travel_mode": "drive",
"travel_type": "car"
}
],
"summary": {
"has_time_restrictions": false,
"has_toll": false,
"has_highway": false,
"has_ferry": false,
"min_lat": 21.033146,
"min_lon": 105.771281,
"max_lat": 21.037748,
"max_lon": 105.789396,
"time": 206.452,
"length": 2.596,
"cost": 601.317
},
"shape": "i||bg@cpwvhErH_SvAgGdN{h@bD}OlGqV_k@}KmY{FsQeEwd@}JuBe@sSsEzCmOpByJxHk_@vBuIP{@dAqFfPmy@tDgR~G__@bHm_@hByMxBqTxAySz@ga@Q_]@aFJiC?c@|@cMJmArCuP^}I`@y\\{@iHkF}QgCyJw@{GM{FOyI@_B?_AdA}hA@i@?wBTwWb@_f@^ob@BuDh@{k@D{ETqLHoDHcEdAih@f@sj@FaDNgH`@eSLcGf@_YRaLBoC?GFaC@Q^aRjAkBv@gAjCqCjBuAdCo@L@tG~@xa@xFjKbBdW|D`K~A~ItAbCd@jK~At]lFvMrB|IrAsA|JwCjTuCjTzR~K"
},
{
"maneuvers": [
{
"type": 3,
"instruction": "Drive northeast on Phố Dịch Vọng Hậu.",
"verbal_succinct_transition_instruction": "Drive northeast. Then Turn right.",
"verbal_pre_transition_instruction": "Drive northeast on Phố Dịch Vọng Hậu. Then Turn right.",
"verbal_post_transition_instruction": "Continue for 40 meters.",
"street_names": [
"Phố Dịch Vọng Hậu"
],
"time": 4.944,
"length": 0.041,
"cost": 6.056,
"begin_shape_index": 0,
"end_shape_index": 1,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right.",
"verbal_transition_alert_instruction": "Turn right.",
"verbal_succinct_transition_instruction": "Turn right. Then Turn left onto Phố Trần Thái Tông.",
"verbal_pre_transition_instruction": "Turn right. Then Turn left onto Phố Trần Thái Tông.",
"verbal_post_transition_instruction": "Continue for 100 meters.",
"time": 15.673,
"length": 0.106,
"cost": 108.081,
"begin_shape_index": 1,
"end_shape_index": 5,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 15,
"instruction": "Turn left onto Phố Trần Thái Tông.",
"verbal_transition_alert_instruction": "Turn left onto Phố Trần Thái Tông.",
"verbal_succinct_transition_instruction": "Turn left.",
"verbal_pre_transition_instruction": "Turn left onto Phố Trần Thái Tông.",
"verbal_post_transition_instruction": "Continue for 300 meters.",
"street_names": [
"Phố Trần Thái Tông"
],
"time": 25.614,
"length": 0.321,
"cost": 95.139,
"begin_shape_index": 5,
"end_shape_index": 13,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Đường Cầu Giấy.",
"verbal_transition_alert_instruction": "Turn right onto Đường Cầu Giấy.",
"verbal_succinct_transition_instruction": "Turn right.",
"verbal_pre_transition_instruction": "Turn right onto Đường Cầu Giấy.",
"verbal_post_transition_instruction": "Continue for 1.5 kilometers.",
"street_names": [
"Đường Cầu Giấy"
],
"time": 101.465,
"length": 1.511,
"cost": 199.705,
"begin_shape_index": 13,
"end_shape_index": 69,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 15,
"instruction": "Turn left onto Đường Bưởi.",
"verbal_transition_alert_instruction": "Turn left onto Đường Bưởi.",
"verbal_succinct_transition_instruction": "Turn left. Then Bear left onto Đường Vành đai 2.",
"verbal_pre_transition_instruction": "Turn left onto Đường Bưởi. Then Bear left onto Đường Vành đai 2.",
"verbal_post_transition_instruction": "Continue for 200 meters.",
"street_names": [
"Đường Bưởi"
],
"time": 11.842,
"length": 0.165,
"cost": 54.265,
"begin_shape_index": 69,
"end_shape_index": 73,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 16,
"instruction": "Bear left onto Đường Vành đai 2.",
"verbal_transition_alert_instruction": "Bear left onto Đường Vành đai 2.",
"verbal_succinct_transition_instruction": "Bear left.",
"verbal_pre_transition_instruction": "Bear left onto Đường Vành đai 2.",
"verbal_post_transition_instruction": "Continue for 5 kilometers.",
"street_names": [
"Đường Vành đai 2"
],
"time": 259.191,
"length": 5.219,
"cost": 382.77,
"begin_shape_index": 73,
"end_shape_index": 190,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 6,
"instruction": "Your destination is on the left.",
"verbal_transition_alert_instruction": "Your destination will be on the left.",
"verbal_pre_transition_instruction": "Your destination is on the left.",
"time": 0.0,
"length": 0.0,
"cost": 0.0,
"begin_shape_index": 190,
"end_shape_index": 190,
"travel_mode": "drive",
"travel_type": "car"
}
],
"summary": {
"has_time_restrictions": false,
"has_toll": false,
"has_highway": false,
"has_ferry": false,
"min_lat": 21.029806,
"min_lon": 105.787633,
"max_lat": 21.075132,
"max_lon": 105.81109,
"time": 418.73,
"length": 7.364,
"cost": 846.019
},
"shape": "sjwbg@anwwhE{R_LtCkTvCkTrA}Jd@iGmIeAkx@{LmCg@_J}AiTsD}Q{Ccn@aKoC_AcDkGuB_Ek@gBi@gA}@qBJcADe@zB}OpCaOfPuu@x@yDb@kBXiAhA{E~Ic`@rJya@rH_[~AeHdAuE~@mD~AaGlC{JvMml@tI_`@xD_RrGyZvA_HbLgk@nBsIlCgJ~BuFbCyEpCiEzDsEpFgGJMrCwCxA{AbQgQlXmXpZe\\dWqX\\YdHqHdTuT|SmTfKeKzTkVzFqH`CeDr@cAbBaC~JiPb@y@bByClKoQgKkKgMuIuWuQeTaSyl@qc@gOgLqLoEyRuLuQiK}a@qU{h@e\\yv@ie@oUaNkUkNq]iT{DeCgE{BeGyCaIaDkJ}CcJyBaGy@}Ek@{Ea@cEM{CQgXg@_[W_g@BqTj@iN|Aa`@jGmLnCkStEec@fI}UfEuL`BqNhBcH^eXl@mlAA}Eh@wSHaKJcKZuJf@kLx@mk@zFaOlBuI|AkIfBsIpBsa@fKqXhGaP~DsOxD_MvC_RnEeNlCuGr@qJRa\\~DyDd@mGx@o@Hcf@bEcI\\}^~B{XVkc@^o[^q^Hul@c@{WMsTQ{xAh@on@TmGAcE?_XCoHAqHAaHA{j@Eqy@IuoAKkRYc\\s@ob@}@cRmBwBw@eD{@cD{A{f@gTqd@wUqJ_GkP_KwJ{EkG}CiLqGm]}Pem@}[}\\{OyW}M{@_@qf@ySeUeKen@{W{MyFaUmJeFsBoCkAiVaKcPqGuIoDsHkCcP}FovBeo@e|@cW_nA}_@{H{B"
},
{
"maneuvers": [
{
"type": 3,
"instruction": "Drive north on Đường Võ Chí Công.",
"verbal_succinct_transition_instruction": "Drive north.",
"verbal_pre_transition_instruction": "Drive north on Đường Võ Chí Công.",
"verbal_post_transition_instruction": "Continue for 800 meters.",
"street_names": [
"Đường Võ Chí Công"
],
"time": 39.861,
"length": 0.806,
"cost": 44.802,
"begin_shape_index": 0,
"end_shape_index": 14,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 20,
"instruction": "Take exit Phú Thượng on the right onto An Dương Vương.",
"verbal_transition_alert_instruction": "Take exit Phú Thượng on the right.",
"verbal_pre_transition_instruction": "Take exit Phú Thượng on the right onto An Dương Vương.",
"time": 16.876,
"length": 0.293,
"cost": 15.748,
"begin_shape_index": 14,
"end_shape_index": 24,
"sign": {
"exit_number_elements": [
{
"text": "Phú Thượng"
}
],
"exit_branch_elements": [
{
"text": "An Dương Vương"
}
]
},
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Đường An Dương Vương.",
"verbal_transition_alert_instruction": "Turn right onto Đường An Dương Vương.",
"verbal_succinct_transition_instruction": "Turn right.",
"verbal_pre_transition_instruction": "Turn right onto Đường An Dương Vương.",
"verbal_post_transition_instruction": "Continue for 800 meters.",
"street_names": [
"Đường An Dương Vương"
],
"time": 58.132,
"length": 0.803,
"cost": 125.831,
"begin_shape_index": 24,
"end_shape_index": 50,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 24,
"instruction": "Keep left to take Đường Âu Cơ.",
"verbal_transition_alert_instruction": "Keep left to take Đường Âu Cơ.",
"verbal_pre_transition_instruction": "Keep left to take Đường Âu Cơ.",
"verbal_post_transition_instruction": "Continue for 3 kilometers.",
"street_names": [
"Đường Âu Cơ"
],
"time": 219.661,
"length": 3.37,
"cost": 264.196,
"begin_shape_index": 50,
"end_shape_index": 143,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 16,
"instruction": "Bear left.",
"verbal_transition_alert_instruction": "Bear left.",
"verbal_succinct_transition_instruction": "Bear left. Then Bear right onto Cầu vượt An Dương - Thanh Niên.",
"verbal_pre_transition_instruction": "Bear left. Then Bear right onto Cầu vượt An Dương - Thanh Niên.",
"verbal_post_transition_instruction": "Continue for 10 meters.",
"time": 0.612,
"length": 0.013,
"cost": 0.547,
"begin_shape_index": 143,
"end_shape_index": 144,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 9,
"instruction": "Bear right onto Cầu vượt An Dương - Thanh Niên.",
"verbal_transition_alert_instruction": "Bear right onto Cầu vượt An Dương - Thanh Niên.",
"verbal_succinct_transition_instruction": "Bear right.",
"verbal_pre_transition_instruction": "Bear right onto Cầu vượt An Dương - Thanh Niên.",
"verbal_post_transition_instruction": "Continue for 800 meters.",
"street_names": [
"Cầu vượt An Dương - Thanh Niên"
],
"time": 52.104,
"length": 0.787,
"cost": 71.776,
"begin_shape_index": 144,
"end_shape_index": 161,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 26,
"instruction": "Enter the roundabout and take the 2nd exit onto Đường Yên Phụ.",
"verbal_transition_alert_instruction": "Enter the roundabout and take the 2nd exit onto Đường Yên Phụ.",
"verbal_succinct_transition_instruction": "Enter the roundabout and take the 2nd exit.",
"verbal_pre_transition_instruction": "Enter the roundabout and take the 2nd exit onto Đường Yên Phụ.",
"time": 4.801,
"length": 0.027,
"cost": 14.27,
"begin_shape_index": 161,
"end_shape_index": 169,
"roundabout_exit_count": 2,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 27,
"instruction": "Exit the roundabout onto Đường Yên Phụ.",
"verbal_succinct_transition_instruction": "Exit the roundabout.",
"verbal_pre_transition_instruction": "Exit the roundabout onto Đường Yên Phụ.",
"verbal_post_transition_instruction": "Continue for 900 meters.",
"street_names": [
"Đường Yên Phụ"
],
"time": 60.924,
"length": 0.928,
"cost": 75.282,
"begin_shape_index": 169,
"end_shape_index": 195,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 16,
"instruction": "Bear left onto Đường Trần Nhật Duật.",
"verbal_transition_alert_instruction": "Bear left onto Đường Trần Nhật Duật.",
"verbal_succinct_transition_instruction": "Bear left.",
"verbal_pre_transition_instruction": "Bear left onto Đường Trần Nhật Duật.",
"verbal_post_transition_instruction": "Continue for 600 meters.",
"street_names": [
"Đường Trần Nhật Duật"
],
"time": 38.465,
"length": 0.575,
"cost": 65.513,
"begin_shape_index": 195,
"end_shape_index": 213,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 23,
"instruction": "Keep right to stay on Đường Trần Nhật Duật.",
"verbal_transition_alert_instruction": "Keep right to stay on Đường Trần Nhật Duật.",
"verbal_pre_transition_instruction": "Keep right to stay on Đường Trần Nhật Duật.",
"verbal_post_transition_instruction": "Continue for 400 meters.",
"street_names": [
"Đường Trần Nhật Duật"
],
"time": 31.962,
"length": 0.354,
"cost": 61.638,
"begin_shape_index": 213,
"end_shape_index": 222,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Phố Hàng Mắm.",
"verbal_transition_alert_instruction": "Turn right onto Phố Hàng Mắm.",
"verbal_succinct_transition_instruction": "Turn right.",
"verbal_pre_transition_instruction": "Turn right onto Phố Hàng Mắm.",
"verbal_post_transition_instruction": "Continue for 200 meters.",
"street_names": [
"Phố Hàng Mắm"
],
"time": 35.215,
"length": 0.247,
"cost": 77.836,
"begin_shape_index": 222,
"end_shape_index": 228,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 15,
"instruction": "Turn left onto Phố Đinh Liệt.",
"verbal_transition_alert_instruction": "Turn left onto Phố Đinh Liệt.",
"verbal_succinct_transition_instruction": "Turn left.",
"verbal_pre_transition_instruction": "Turn left onto Phố Đinh Liệt.",
"verbal_post_transition_instruction": "Continue for 200 meters.",
"street_names": [
"Phố Đinh Liệt"
],
"time": 24.115,
"length": 0.187,
"cost": 59.723,
"begin_shape_index": 228,
"end_shape_index": 233,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Phố Cầu Gỗ.",
"verbal_transition_alert_instruction": "Turn right onto Phố Cầu Gỗ.",
"verbal_succinct_transition_instruction": "Turn right. Then Turn left onto Phố Lê Thái Tổ.",
"verbal_pre_transition_instruction": "Turn right onto Phố Cầu Gỗ. Then Turn left onto Phố Lê Thái Tổ.",
"verbal_post_transition_instruction": "Continue for 60 meters.",
"street_names": [
"Phố Cầu Gỗ"
],
"time": 12.852,
"length": 0.061,
"cost": 40.201,
"begin_shape_index": 233,
"end_shape_index": 236,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 15,
"instruction": "Turn left onto Phố Lê Thái Tổ.",
"verbal_transition_alert_instruction": "Turn left onto Phố Lê Thái Tổ.",
"verbal_succinct_transition_instruction": "Turn left.",
"verbal_pre_transition_instruction": "Turn left onto Phố Lê Thái Tổ.",
"verbal_post_transition_instruction": "Continue for 400 meters.",
"street_names": [
"Phố Lê Thái Tổ"
],
"time": 41.657,
"length": 0.423,
"cost": 96.723,
"begin_shape_index": 236,
"end_shape_index": 258,
"has_time_restrictions": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 6,
"instruction": "Your destination is on the left.",
"verbal_transition_alert_instruction": "Your destination will be on the left.",
"verbal_pre_transition_instruction": "Your destination is on the left.",
"time": 0.0,
"length": 0.0,
"cost": 0.0,
"begin_shape_index": 258,
"end_shape_index": 258,
"travel_mode": "drive",
"travel_type": "car"
}
],
"summary": {
"has_time_restrictions": true,
"has_toll": false,
"has_highway": false,
"has_ferry": false,
"min_lat": 21.028676,
"min_lon": 105.81109,
"max_lat": 21.082257,
"max_lon": 105.854413,
"time": 637.243,
"length": 8.876,
"cost": 1014.092
},
"shape": "wjieg@eheyhEy^kK}Ae@aWyI_XgL}n@}]iH{DgDgByZoPkqAsr@wJqF_Ag@yJiFoo@c]y_Akf@mJaV{AuUE_SU}J}@uLiB_JmGuQgJsUgEoKqB_GhFgCnAo@hRyJtFmCtTiL|C_BrCyAdDqBlLkGdJiF`m@c\\zA{@vScLrUgM~FwD|FuDfDuBnS{Mjm@e_@bQoKlBoAdBuArXaUvVqVtLiLxGqG~P_QbCcClFgFjEgElCuCrCiDn@{@|HkKlD{ErXu_@nCwD~Ww^xJiNv@w@jBoC|OmTl^ef@f\\qVbm@_RdW}DpGk@`EWrFYpGG`MOjCCd}BaBhDEbFSbE_@fEq@fNqEvGcG`DmDxPyOvwDwsChFuIjBeM`@}Np@yi@xBuUlE_SxIwQnM_MvLgFtbC{l@jPoExTeFlBo@rCmAbIqFbAu@dx@io@hByAdRoJfMwGtEcCbS_NbEiD??pRcP`E_CbLsHhDqBjh@cWj^_PrFyBjHeDhHmDvC{AlKeF~ImEbHcDjL{ElE{Bp_@wPfh@_V~\\yOv_@gQpFeCnHcDnF{BlEuCzDgCpBqAjF_EbE}CxDiDbDuDbE_ElAkAx@u@~@{@XwFvw@w|@nQ_QzSaNhO{H`MoHbJmHjJmIpOuPfQyRlLsM~KsKlWcUfYyV~b@y^tGyFjWmVpAkAz@j@`ATfA?p@Ol@Yf@c@f@aAHe@`DmDb\\e^nZm[fa@sn@bBqCfVq]xKaQzTw]zBoChCkC|NeLlByA|BeBlSuOds@qf@jYsTtDuCvCeChFgFdCkCnFeGjEqEvD}D`Ya^fC}ClHgGjDwE|JwJ\\]jWwXzHyHhGeGxDsDlHiGdE_DbE}ClNsKdC{BzWqUpf@ub@bZ_UfS_PjMcKbJeI|QuH|c@c[lMqFxHcClKeA|ZIrAEzYgAnb@wAXv_@DvEeAfWmBnl@oA~_@QxDtDXzSlBxYjDdl@k@fDDElFChBaA|Xf`@g@|@z@~H`I|EdE~BdBjCp@lDv@|EPzBBbEYtDe@`QeClEo@lJaB|_AuNdFk@d@GdDSxDGfD?xDJxEj@"
},
{
"maneuvers": [
{
"type": 3,
"instruction": "Drive south on Phố Lê Thái Tổ.",
"verbal_succinct_transition_instruction": "Drive south.",
"verbal_pre_transition_instruction": "Drive south on Phố Lê Thái Tổ.",
"verbal_post_transition_instruction": "Continue for 2.5 kilometers.",
"street_names": [
"Phố Lê Thái Tổ"
],
"time": 193.868,
"length": 2.284,
"cost": 551.738,
"begin_shape_index": 0,
"end_shape_index": 57,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Đường Đại Cồ Việt.",
"verbal_transition_alert_instruction": "Turn right onto Đường Đại Cồ Việt.",
"verbal_succinct_transition_instruction": "Turn right.",
"verbal_pre_transition_instruction": "Turn right onto Đường Đại Cồ Việt.",
"verbal_post_transition_instruction": "Continue for 400 meters.",
"street_names": [
"Đường Đại Cồ Việt"
],
"time": 33.862,
"length": 0.438,
"cost": 105.387,
"begin_shape_index": 57,
"end_shape_index": 72,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 23,
"instruction": "Keep right to stay on Đường Đại Cồ Việt.",
"verbal_transition_alert_instruction": "Keep right to stay on Đường Đại Cồ Việt.",
"verbal_pre_transition_instruction": "Keep right to stay on Đường Đại Cồ Việt.",
"verbal_post_transition_instruction": "Continue for 400 meters.",
"street_names": [
"Đường Đại Cồ Việt"
],
"time": 25.528,
"length": 0.372,
"cost": 54.726,
"begin_shape_index": 72,
"end_shape_index": 83,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 15,
"instruction": "Turn left onto Đường Giải Phóng.",
"verbal_transition_alert_instruction": "Turn left onto Đường Giải Phóng.",
"verbal_succinct_transition_instruction": "Turn left.",
"verbal_pre_transition_instruction": "Turn left onto Đường Giải Phóng.",
"verbal_post_transition_instruction": "Continue for 800 meters.",
"street_names": [
"Đường Giải Phóng"
],
"time": 58.174,
"length": 0.841,
"cost": 129.566,
"begin_shape_index": 83,
"end_shape_index": 98,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 23,
"instruction": "Keep right to stay on Đường Giải Phóng.",
"verbal_transition_alert_instruction": "Keep right to stay on Đường Giải Phóng.",
"verbal_pre_transition_instruction": "Keep right to stay on Đường Giải Phóng. Then, in 200 meters, Turn right onto Đường Trường Chinh.",
"verbal_post_transition_instruction": "Continue for 200 meters.",
"street_names": [
"Đường Giải Phóng"
],
"time": 12.209,
"length": 0.192,
"cost": 14.854,
"begin_shape_index": 98,
"end_shape_index": 101,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Đường Trường Chinh.",
"verbal_transition_alert_instruction": "Turn right onto Đường Trường Chinh.",
"verbal_succinct_transition_instruction": "Turn right. Then Keep right to stay on Đường Trường Chinh.",
"verbal_pre_transition_instruction": "Turn right onto Đường Trường Chinh. Then Keep right to stay on Đường Trường Chinh.",
"verbal_post_transition_instruction": "Continue for 200 meters.",
"street_names": [
"Đường Trường Chinh"
],
"time": 10.643,
"length": 0.173,
"cost": 33.204,
"begin_shape_index": 101,
"end_shape_index": 106,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 23,
"instruction": "Keep right to stay on Đường Trường Chinh.",
"verbal_transition_alert_instruction": "Keep right to stay on Đường Trường Chinh.",
"verbal_pre_transition_instruction": "Keep right to stay on Đường Trường Chinh.",
"verbal_post_transition_instruction": "Continue for 2 kilometers.",
"street_names": [
"Đường Trường Chinh"
],
"time": 130.386,
"length": 2.022,
"cost": 220.391,
"begin_shape_index": 106,
"end_shape_index": 166,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 23,
"instruction": "Keep right to stay on Đường Trường Chinh.",
"verbal_transition_alert_instruction": "Keep right to stay on Đường Trường Chinh.",
"verbal_pre_transition_instruction": "Keep right to stay on Đường Trường Chinh.",
"verbal_post_transition_instruction": "Continue for 400 meters.",
"street_names": [
"Đường Trường Chinh"
],
"time": 22.301,
"length": 0.351,
"cost": 37.406,
"begin_shape_index": 166,
"end_shape_index": 182,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 13,
"instruction": "Make a left U-turn onto Đường Láng.",
"verbal_transition_alert_instruction": "Make a left U-turn onto Đường Láng.",
"verbal_succinct_transition_instruction": "Make a left U-turn. Then Turn right onto Ngõ 47 Đường Láng.",
"verbal_pre_transition_instruction": "Make a left U-turn onto Đường Láng. Then Turn right onto Ngõ 47 Đường Láng.",
"verbal_post_transition_instruction": "Continue for 100 meters.",
"street_names": [
"Đường Láng"
],
"time": 10.895,
"length": 0.107,
"cost": 56.958,
"begin_shape_index": 182,
"end_shape_index": 187,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Ngõ 47 Đường Láng.",
"verbal_transition_alert_instruction": "Turn right onto Ngõ 47 Đường Láng.",
"verbal_succinct_transition_instruction": "Turn right. Then Your destination will be on the left.",
"verbal_pre_transition_instruction": "Turn right onto Ngõ 47 Đường Láng. Then Your destination will be on the left.",
"verbal_post_transition_instruction": "Continue for 30 meters.",
"street_names": [
"Ngõ 47 Đường Láng"
],
"time": 11.351,
"length": 0.026,
"cost": 624.691,
"begin_shape_index": 187,
"end_shape_index": 190,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 6,
"instruction": "Your destination is on the left.",
"verbal_transition_alert_instruction": "Your destination will be on the left.",
"verbal_pre_transition_instruction": "Your destination is on the left.",
"time": 0.0,
"length": 0.0,
"cost": 0.0,
"begin_shape_index": 190,
"end_shape_index": 190,
"travel_mode": "drive",
"travel_type": "car"
}
],
"summary": {
"has_time_restrictions": false,
"has_toll": false,
"has_highway": false,
"has_ferry": false,
"min_lat": 20.998098,
"min_lon": 105.8179,
"max_lat": 21.028676,
"max_lon": 105.851666,
"time": 509.221,
"length": 6.808,
"cost": 1828.927
},
"shape": "gsnbg@y}s{hEfHx@nIpAxEv@tEtAvBv@vBz@zP?r}@sOhd@{HdJiCnH@~h@jLfQlDxFtA`JlBbs@fPvSnFjHdBvIlBdShEvaAxTjEdAdGpAjq@xOjNjDlCl@fl@nNtDx@`e@fKhG|AzI|AjIPjy@n@fWLrDBlH@~~AfBlE@pFDbuAfAtHDlIJvGJpq@r@x\\FzD?tG@zQX`KLvOVvF?jJJrS\\hb@x@`KXnm@ClMKvAnM|BxTl@|F`Et`@vAjNbBvPdBzQ~@vIdC|a@ZhJn@hMh@dKx@lUl@fPNjEbAvTpDjg@lDpn@v@zK`@`LB~Sc@vSUzHg@lP]nHa@jGhNFf^@n~@Jxh@f@`PRbZV|O@pMJbfAh@heA`@~FCrBAfJFthAcAjFBpKfBfx@n@td@RtAnC`@x@|EpIbPrYwKnp@iCrEiEpVuBbM}EfZsBfMmGf_@gFj\\_A~EeEfV_@bT}Cr\\SbCiA|RMnBmCdc@u@dJg@dGwAdQ{BvQeChSyB~O{Nh|@mHbb@{@`FkCbPiItg@wA`JuGla@_A`FkAlGmCrLkEdSeA|DsDlN_EzOk@pCwC~KoBrHyIf^mEnQkFfWYdB]pBwGja@iC`N_AlD{A~F{BzLcIpf@aIxf@{Hzc@{I~h@qHhe@uDnYy@hJMpHoEbV{CtPOz@mDvR{EjKsBvDaBlEyAvIUpFA~E^vIGpFoFvZyA`FkBhFyBnFwBhEoB~CwElHaf@vi@rEbGnBwBjAoA~O_O|KuM`EdHn@nC??"
},
{
"maneuvers": [
{
"type": 3,
"instruction": "Drive west on Ngõ 47 Đường Láng.",
"verbal_succinct_transition_instruction": "Drive west. Then, in 80 meters, Turn left onto Phố Cầu Mới.",
"verbal_pre_transition_instruction": "Drive west on Ngõ 47 Đường Láng. Then, in 80 meters, Turn left onto Phố Cầu Mới.",
"verbal_post_transition_instruction": "Continue for 80 meters.",
"street_names": [
"Ngõ 47 Đường Láng"
],
"time": 13.926,
"length": 0.077,
"cost": 30.115,
"begin_shape_index": 0,
"end_shape_index": 11,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 15,
"instruction": "Turn left onto Phố Cầu Mới.",
"verbal_transition_alert_instruction": "Turn left onto Phố Cầu Mới.",
"verbal_succinct_transition_instruction": "Turn left.",
"verbal_pre_transition_instruction": "Turn left onto Phố Cầu Mới.",
"verbal_post_transition_instruction": "Continue for 200 meters.",
"street_names": [
"Phố Cầu Mới"
],
"time": 15.72,
"length": 0.189,
"cost": 46.51,
"begin_shape_index": 11,
"end_shape_index": 15,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Đường Nguyễn Trãi.",
"verbal_transition_alert_instruction": "Turn right onto Đường Nguyễn Trãi.",
"verbal_succinct_transition_instruction": "Turn right.",
"verbal_pre_transition_instruction": "Turn right onto Đường Nguyễn Trãi.",
"verbal_post_transition_instruction": "Continue for 1.5 kilometers.",
"street_names": [
"Đường Nguyễn Trãi"
],
"time": 98.926,
"length": 1.508,
"cost": 191.671,
"begin_shape_index": 15,
"end_shape_index": 56,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 23,
"instruction": "Keep right to stay on Đường Nguyễn Trãi.",
"verbal_transition_alert_instruction": "Keep right to stay on Đường Nguyễn Trãi.",
"verbal_pre_transition_instruction": "Keep right to stay on Đường Nguyễn Trãi.",
"verbal_post_transition_instruction": "Continue for 400 meters.",
"street_names": [
"Đường Nguyễn Trãi"
],
"time": 22.687,
"length": 0.358,
"cost": 27.697,
"begin_shape_index": 56,
"end_shape_index": 61,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Đường Khuất Duy Tiến.",
"verbal_transition_alert_instruction": "Turn right onto Đường Khuất Duy Tiến.",
"verbal_succinct_transition_instruction": "Turn right. Then Take the CT.37 ramp.",
"verbal_pre_transition_instruction": "Turn right onto Đường Khuất Duy Tiến. Then Take the CT.37 ramp.",
"verbal_post_transition_instruction": "Continue for 200 meters.",
"street_names": [
"Đường Khuất Duy Tiến"
],
"time": 14.271,
"length": 0.249,
"cost": 24.209,
"begin_shape_index": 61,
"end_shape_index": 68,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 19,
"instruction": "Take the CT.37 ramp.",
"verbal_transition_alert_instruction": "Take the CT.37 ramp.",
"verbal_pre_transition_instruction": "Take the CT.37 ramp.",
"verbal_post_transition_instruction": "Continue for 5 kilometers.",
"street_names": [
"Đường cao tốc Vành đai 3"
],
"time": 229.065,
"length": 5.104,
"cost": 329.267,
"begin_shape_index": 68,
"end_shape_index": 125,
"highway": true,
"sign": {
"exit_branch_elements": [
{
"text": "CT.37"
}
]
},
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 20,
"instruction": "Take exit Mai Dịch on the right onto QL.32 toward Cầu Diễn.",
"verbal_transition_alert_instruction": "Take exit Mai Dịch on the right.",
"verbal_pre_transition_instruction": "Take exit Mai Dịch on the right onto QL.32 toward Cầu Diễn. Then Keep right to stay on Đường Phạm Hùng.",
"verbal_post_transition_instruction": "Continue for 100 meters.",
"street_names": [
"Đường Phạm Hùng"
],
"time": 6.463,
"length": 0.117,
"cost": 44.333,
"begin_shape_index": 125,
"end_shape_index": 127,
"sign": {
"exit_number_elements": [
{
"text": "Mai Dịch"
}
],
"exit_branch_elements": [
{
"text": "QL.32"
}
],
"exit_toward_elements": [
{
"text": "Cầu Diễn"
}
]
},
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 23,
"instruction": "Keep right to stay on Đường Phạm Hùng.",
"verbal_transition_alert_instruction": "Keep right to stay on Đường Phạm Hùng.",
"verbal_pre_transition_instruction": "Keep right to stay on Đường Phạm Hùng.",
"verbal_post_transition_instruction": "Continue for 300 meters.",
"street_names": [
"Đường Phạm Hùng"
],
"time": 21.411,
"length": 0.338,
"cost": 27.9,
"begin_shape_index": 127,
"end_shape_index": 133,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 13,
"instruction": "Make a left U-turn to stay on Đường Phạm Hùng.",
"verbal_transition_alert_instruction": "Make a left U-turn to stay on Đường Phạm Hùng.",
"verbal_succinct_transition_instruction": "Make a left U-turn.",
"verbal_pre_transition_instruction": "Make a left U-turn to stay on Đường Phạm Hùng.",
"verbal_post_transition_instruction": "Continue for 900 meters.",
"street_names": [
"Đường Phạm Hùng"
],
"time": 54.715,
"length": 0.869,
"cost": 87.875,
"begin_shape_index": 133,
"end_shape_index": 158,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Phố Nguyễn Hoàng.",
"verbal_transition_alert_instruction": "Turn right onto Phố Nguyễn Hoàng.",
"verbal_succinct_transition_instruction": "Turn right.",
"verbal_pre_transition_instruction": "Turn right onto Phố Nguyễn Hoàng.",
"verbal_post_transition_instruction": "Continue for 1 kilometer.",
"street_names": [
"Phố Nguyễn Hoàng"
],
"time": 88.818,
"length": 1.115,
"cost": 210.349,
"begin_shape_index": 158,
"end_shape_index": 190,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right toward Lê Đức Thọ.",
"verbal_transition_alert_instruction": "Turn right toward Lê Đức Thọ.",
"verbal_succinct_transition_instruction": "Turn right toward Lê Đức Thọ.",
"verbal_pre_transition_instruction": "Turn right toward Lê Đức Thọ.",
"verbal_post_transition_instruction": "Continue for 300 meters.",
"street_names": [
"Đường Lê Đức Thọ"
],
"time": 20.494,
"length": 0.331,
"cost": 52.321,
"begin_shape_index": 190,
"end_shape_index": 199,
"sign": {
},
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 10,
"instruction": "Turn right onto Ngõ 5 Lê Đức Thọ.",
"verbal_transition_alert_instruction": "Turn right onto Ngõ 5 Lê Đức Thọ.",
"verbal_succinct_transition_instruction": "Turn right. Then Your destination will be on the left.",
"verbal_pre_transition_instruction": "Turn right onto Ngõ 5 Lê Đức Thọ. Then Your destination will be on the left.",
"verbal_post_transition_instruction": "Continue for 30 meters.",
"street_names": [
"Ngõ 5 Lê Đức Thọ"
],
"time": 9.185,
"length": 0.032,
"cost": 27.289,
"begin_shape_index": 199,
"end_shape_index": 200,
"verbal_multi_cue": true,
"travel_mode": "drive",
"travel_type": "car"
},
{
"type": 6,
"instruction": "Your destination is on the left.",
"verbal_transition_alert_instruction": "Your destination will be on the left.",
"verbal_pre_transition_instruction": "Your destination is on the left.",
"time": 0.0,
"length": 0.0,
"cost": 0.0,
"begin_shape_index": 200,
"end_shape_index": 200,
"travel_mode": "drive",
"travel_type": "car"
}
],
"summary": {
"has_time_restrictions": false,
"has_toll": false,
"has_highway": true,
"has_ferry": false,
"min_lat": 20.992099,
"min_lon": 105.769992,
"max_lat": 21.036129,
"max_lon": 105.818289,
"time": 595.687,
"length": 10.287,
"cost": 1099.542
},
"shape": "wu}`g@aisyhEHvDRxBbB~JR|Al@dB\\`@TrBBh@Bj@NrA`BrEjGgBnpAse@tCgAvAe@bE~B`JtPjBxDbVz`@hCdEtFhDbSxZ`CvMhT~^nVza@bGlK~DhHpBnDd@x@zKjRrZbh@dElHR\\zH|NnNxVtMrUxf@r{@vO|U`BrCrFlKzDbH`InNpNfWxFnJjRf\\hEzHpLbSpHxM`DrFtRn[~Sv]tJ~N`F~H|GbKdXrb@vHzKzAjH|MjSjk@f~@v^rl@`Vpb@a@~N{@xPgA|Q_BbBsHfGaT`Pie@l]}HfIkPpM}`BtlAgNrO{o@ze@siAhx@elA~}@sfAnx@ik@pb@}zBvaB}d@l\\ywAxfAknAncAokA`~@giAhz@kxAnfAiq@vf@s`CrfBytAtdAmmFr`Ecx@xm@sr@~h@qm@vb@cLtHmIjFqJtF{HzDeJrEoOzGaHrCoJzCiKdDiSjF{JtBoLrBsMvBcQvBsLjAsL`AiMj@mIRwCFyEFwFDoJEuLKoNk@}Mw@eQoA_RoB_YmCoZ}CkiBePuYwCot@uHsfAaJ_dAuJkXwJod@yEaHwAsn@gGso@sGg^qCi[qDyTgEyDlEmA`Ca@xBEtBf@jErBxFzICfOrAxUfB~bAhJ|s@|GxNKnf@`Fx{@lInCXzb@fEr@HvGv@~WzBpEb@vALfW~BtFf@pa@jEzGlAm@pI}C`_@MfBgFjq@oCb`@{@pIkCtWiBxJ}@rCuAfEqClGcDlGoF`IiHrI{DpEcEbD}c@~Xw[|PgVhNw[lQcFtDsFbEiEpDqKhNyEnI{FbNwEjN_DjNgDrTcHli@qHzn@cGrf@aJrF{H~D{JeBgp@eLcN_EgEoAuQiI_F_Cyh@wVlGuP"
}
],
"summary": {
"has_time_restrictions": true,
"has_toll": false,
"has_highway": true,
"has_ferry": false,
"min_lat": 20.992099,
"min_lon": 105.769992,
"max_lat": 21.082257,
"max_lon": 105.854413,
"time": 2367.334,
"length": 35.933,
"cost": 5389.899
},
"status_message": "Found route between points",
"status": 0,
"units": "kilometers",
"language": "en-US"
}
}
<<<<<<< HEAD
=======
>>>>>>> deaff338b4331b73aa16c6f5f2b33d221318a2b8