Tất cả bài viết

Đã có Car Routing: `vehicle=car` trên Directions API

Directions API giờ định tuyến ô tô trên đồ thị đường riêng — không phải xe máy gắn nhãn lại — dành cho đặt xe, xe tải giao hàng và các đội xe logistics chạy ô tô ở Việt Nam.

Khi ra mắt Directions API, chúng tôi xây dựng ưu tiên xe máy trước — vì đó là cách phần lớn người Việt di chuyển. Nhưng nhiều ứng dụng cũng cần phía còn lại: đặt xe, xe tải giao hàng, đội xe logistics. Hôm nay GET /v1/directions có thêm hồ sơ phương tiện thứ hai: vehicle=car.

Không phải xe máy gắn nhãn lại

Định tuyến ô tô và xe máy là hai bài toán khác nhau. Xe máy luồn được ngõ hẻm, làn nhỏ mà ô tô không vào được; ô tô phải tuân theo chiều đường một chiều, tránh những đường quá hẹp, và nói chung phải đi trên mạng đường mà một chiếc ô tô thực sự đi được. Vì vậy vehicle=car không phải hồ sơ xe máy đổi tên — nó chạy trên đồ thị đường riêng, được xây và tinh chỉnh dành riêng cho ô tô. Tuyến đường, thời gian dự kiến và hướng dẫn rẽ từng bước đều phản ánh cách một chiếc ô tô thực sự sẽ đi.

Cùng request, cùng cấu trúc response

Không có gì khác thay đổi. Cùng endpoint, cùng cấu trúc response tương thích Google Directions — chỉ cần đổi tham số vehicle.

Request

curl -G "https://api.gogoduk.com/v1/directions" \
  -H "X-API-Key: $GOGODUK_API_KEY" \
  --data-urlencode "origin=21.0285,105.8542" \
  --data-urlencode "destination=21.2212,105.8072" \
  --data-urlencode "vehicle=car"
  • origin / destination — dạng lat,lng (cùng thứ tự với Google/Goong).
  • vehiclemotobike (mặc định) hoặc car.
  • Scope yêu cầu: routing:read.

Response

{
  "status": "OK",
  "routes": [
    {
      "legs": [
        {
          "distance": { "text": "5.7 km", "value": 5704.1 },
          "duration": { "text": "9 phút", "value": 511.2 },
          "steps": [
            {
              "distance": { "text": "243 m", "value": 243.4 },
              "html_instructions": "Head northwest on Pasteur",
              "maneuver": "turn-right",
              "polyline": { "points": "suw`Aq{fjSOF{Bx@..." },
              "travel_mode": "DRIVING"
            }
          ]
        }
      ],
      "overview_polyline": { "points": "suw`Aq{fjS..." }
    }
  ]
}

Cơ chế fallback vẫn giữ nguyên như trước: nếu không có tuyến đường thật giữa hai điểm, bạn vẫn nhận được đường ước lượng (đường thẳng) với status: "ESTIMATED" thay vì lỗi, để bản đồ luôn có thứ để vẽ.

Dùng thử

Có câu hỏi hay góp ý? Tham gia nhóm hỗ trợ Telegram của chúng tôi — rất mong được thấy sản phẩm bạn xây dựng.

Muốn dùng GoGoDuk?

Miễn phí trọn đời — 100 request/ngày mỗi tài khoản, không cần thẻ tín dụng. Giới hạn cao hơn theo yêu cầu.

Đăng ký →