Optimized Route APIs
API Optimized Route cung cấp khả năng tính toán nhanh về thời gian và khoảng cách giữa một tập hợp các điểm xuất phát và điểm đến, sau đó trả về kết quả theo thứ tự lộ trình tối ưu, và hình học hóa tuyến đường để bạn có thể phân tích.
Mô tả
API này sẽ trả về một lộ trình tối ưu, dừng lại tại mỗi điểm trên lộ trình đúng một lần. Điểm (tọa độ) đầu tiên trong danh sách sẽ luôn là điểm bắt đầu và điểm (tọa độ) cuối cùng trong danh sách này sẽ là điểm cuối cùng. Lộ trình này sẽ bao gồm nhiều chặng (legs). API Optimized Route rất hữu ích để lập kế hoạch cho các lộ trình có nhiều điểm dừng, như lộ trình giao hàng hoặc lên kế hoạch cho tour tham quan.
Hãy sử dụng Enterprise Dashboard hoặc hướng dẫn API Key để tạo API Key và trải nghiệm miễn phí!
Base URL
Mã URL chung cho tất các yêu cầu API:https://mapapis.openmap.vn/v1
Endpoint
GET /optimized-route
Ví dụ
Yêu cầu
/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"}}
Các tham số yêu cầu
Param | Description | Example |
---|---|---|
locations | Danh sách các tọa độ ( địa điểm) cần phải đi qua. Mỗi địa điểm phải bao gồm vĩ độ và kinh độ dưới dạng số thập phân. | 21.03624,105.77142 |
costing | Loại hình phương tiện để di chuyển. Chúng tôi cung cấp các lựa chọn sau auto , bicycle , pedestrian | auto |
directions_options | Các lựa chọn tùy chỉnh cho tuyến đường. service. | {"units":"km"} |
Trả về
{
"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"
}
}