DIRECTIONS – TÍNH TOÁN KHOẢNG CÁCH VÀ CHỈ ĐƯỜNG

TỔNG QUAN

Directions API cung cấp thông tin về định hướng và dẫn đường giữa hai địa điểm. Thông tin này thường bao gồm tuyến đường đề xuất, khoảng cách, thời gian dự kiến, hướng dẫn chi tiết về lộ trình và các thông tin khác liên quan đến chuyến đi. 

Lý do nên sử dụng Directions

  • Tính toán đa dạng phương tiện: Dễ dàng so sánh lộ trình đi bộ, đi xe máy, lái ô tô để chọn phương án phù hợp nhất.
  • Ưu tiên thời gian di chuyển: API sẽ giúp bạn tìm ra tuyến đường ngắn nhất và nhanh nhất để đến đích.
  • Cân nhắc nhiều yếu tố: Ngoài thời gian, bạn cũng có thể xem xét các yếu tố khác như khoảng cách, số lần rẽ để đưa ra quyết định tối ưu.
  • Thông tin chi tiết: API cung cấp thông tin chi tiết về từng đoạn đường, bao gồm khoảng cách, thời gian di chuyển dự kiến và hướng đi.

Directions API là công cụ đắc lực, giúp người dùng tiết kiệm thời gian và tìm được lộ trình tốt nhất.

CÁCH THỨC TÍCH HỢP DIRECTIONS

Đầu tiên, bạn phải đăng ký tài khoản và tạo API key của Goong theo hướng dẫn chi tiết tại đây.

URL: /direction

Phương thức: GET

Ví dụ về request:

curl 'https://rsapi.goong.io/direction?origin=21.046623224000029%2C105.790168203000060&destination=21.046666732000062%2C105.790169569000060&vehicle=car&api_key={YOUR_API_KEY}'
Tham số Mô tả Ví dụ
origin Tọa độ điểm xuất phát (bắt buộc). 20.981971,105.864323
destination Tọa độ điểm đến. Ngăn cách bằng dấu chấm phẩy (;) nếu có nhiều hơn 2 điểm đến (bắt buộc). 21.03876,105.79810
vehicle Loại phương tiện. Các tùy chọn bao gồm: xe hơi (car), xe đạp (bike), taxi, xe tải (truck), hd (cho các phương tiện thuê xe). car

Ví dụ về response:

application/json
{
  "geocoded_waypoints": [],
  "routes": [
    {
      "bounds": {},
      "legs": [
        {
          "distance": {
            "text": "1155.66 km",
            "value": 1155660
          },
          "duration": {
            "text": "22 giờ 10 phút",
            "value":  79799         
          },
        "steps": []
       }
     ],
     "overview_polyline": {
       "points": "mtm_C{cudSG@..."
     },
     "warnings": [],
     "waypoint_order": []
    }
  ]
}
Tham số Mô tả Ví dụ
geocoded_waypoints Trả về thông tin về các điểm được mã hóa địa lý trong yêu cầu tìm đường. Bao gồm thông tin về vị trí địa lý của điểm, bao gồm tọa độ vĩ độ và kinh độ, địa chỉ, loại địa điểm…
Có thể được sử dụng để hiển thị các điểm trên bản đồ, hoặc để xác định vị trí cụ thể của các địa điểm trong quá trình tìm đường.
{

“geocoder_status”: “OK”,
“place_id”: “lGhaene03U5OqGM2s3m-…”

}

legs Các phần của tuyến đường hoặc đường đi giữa hai điểm địa lý cụ thể trên một tuyến đường bao gồm: khoảng cách, thời gian đi lại, địa chỉ xuất phát và đích, các hướng dẫn chi tiết về cách đi giữa hai điểm và các thông tin khác liên quan. {

“distance”: {

“text”: “1155.66 km”,

“value”: 1155660

},

“duration”: {

“text”: “22 giờ 10 phút”,

“value”: 79799

},

“end_address”: “Cửa khẩu Lý Vạn, Lý Quốc, Hạ Lang”,

“end_location”:{

“lat”: 22.81667,

“lng”: 106.82254

},

“start_address”: “58 Nguyễn Công Trứ, Hội An, Quảng Nam”,

“start_location”:{

“lat”: 15.88553,

“lng”: 108.3271

}

}

overview_polyline Được sử dụng để trả về một tuyến đường hoặc đường đi dưới dạng một chuỗi đường dẫn được mã hóa (Encoded polyline).
Để hiển thị đoạn đường đó lên bản đồ, cần giải mã ra thành một mảng các tọa độ và gán chúng lên bản đồ.
“points”: ”

qs}_BksdtSkAfBuCgBc@W_Aw@_Ak@OGgFiBiBs@mCeA
qDwAcBk@YOo@q@[k@_@gA