Chuyển tới nội dung chính
Phiên bản: v1.1

Route API Door‑to‑Door

API định tuyến (Door‑to‑Door) giúp bạn tính đường giữa hai điểm một cách đơn giản và thân thiện.

  • Khi điểm đầu/cuối không thể đi được bằng xe vào tận nơi, hệ thống sẽ tự thêm đoạn đi bộ phù hợp.
  • Hai chế độ: Tiêu chuẩn (mặc định) và Door‑to‑Door.
  • Kết quả trả về gồm metadata báo cần đi bộ ở đầu/cuối và mảng routes (1–3 tuyến) tương ứng.

Truy xuất Route API Door‑to‑Door

Loading...

Door‑to‑Door (POST)

Tham số bắt buộcKiểu dữ liệuMô tả
locationsarrayMảng đối tượng vị trí. Xem Valhalla API Reference để biết các tùy chọn location chi tiết.
costingstringChế độ di chuyển. Xem Valhalla API Reference để biết tất cả các chế độ hỗ trợ.
Tham số tùy chọnKiểu dữ liệuMô tả
door_to_doorbooleanBật định tuyến Door‑to‑Door đa phương thức. Khi true, kết hợp đi bộ với phương tiện để dẫn đường từ cửa đến cửa.
costing_optionsobjectTùy chọn theo từng chế độ di chuyển. Xem Valhalla API Reference.
unitsstringĐơn vị khoảng cách: kilometers/km hoặc miles/mi. Xem Valhalla API Reference.
languagestringNgôn ngữ hướng dẫn rẽ (IETF BCP 47). Xem Valhalla API Reference.
formatstringĐịnh dạng đầu ra: json, osrm, gpx, pbf. Xem Valhalla API Reference.
Other options-Tất cả các tham số khác của Valhalla đều được hỗ trợ. Xem Valhalla API Reference.

Chi tiết tham số Door‑to‑Door

Khi door_to_door = true:

Thông sốYêu cầu
Costing ModesHỗ trợ: auto, bus, truck, taxi.
LocationsChính xác 2 địa điểm (chỉ điểm đi và điểm đến).
AlternatesalternatesLuôn bằng 0 (không hỗ trợ đường thay thế).

Cách hoạt động

  • Tính tuyến phương tiện trước: Dịch vụ tính toán tuyến đường chính cho phương tiện trước tiên.
  • Thêm đi bộ khi lệch: Nếu điểm bắt đầu/kết thúc của tuyến phương tiện khác đáng kể so với vị trí yêu cầu, hệ thống sẽ thêm các đoạn đi bộ nối giữa các điểm.
  • Tối ưu đoạn đi bộ: Các đoạn đi bộ được kiểm tra và tối ưu để giảm quãng đường đi bộ.
  • Kết quả: Phản hồi có thể gồm tối đa 3 phân đoạn: Đi bộ → Phương tiện → Đi bộ.

Mẫu yêu cầu:

{
"locations": [
{ "lat": 10.7969, "lon": 106.6792 },
{ "lat": 10.8103, "lon": 106.7042 }
],
"costing": "auto",
"door_to_door": true
}

Mẫu phản hồi (rút gọn):

{
"status": "OK",
"metadata": {
"needsWalkingToStart": false,
"needsWalkingToEnd": true,
"calculatedDistanceToEnd": 39
},
"data": {
"routes": [
{
/* Tuyến đường đi bộ: Điểm bắt đầu → Điểm đón (chế độ đi bộ) */
},
{
/* Tuyến đường bằng phương tiện: Điểm đón → Điểm trả (chế độ phương tiện) */
},
{
/* Tuyến đường đi bộ: Điểm trả → Điểm đến (chế độ đi bộ) */
}
]
},
"licence": "© GTEL Maps"
}

Các trường phản hồi (metadata):

TrườngKiểuMô tả
needsWalkingToStartbooleanCó thêm đoạn đi bộ ở đầu tuyến hay không.
calculatedDistanceToStartnumberKhoảng cách (mét) từ điểm xuất phát đến điểm đón phương tiện.
needsWalkingToEndbooleanCó thêm đoạn đi bộ ở cuối tuyến hay không.
calculatedDistanceToEndnumberKhoảng cách (mét) từ điểm trả phương tiện đến điểm đích.

Mảng data.routes có 1–3 tuyến tùy nhu cầu đi bộ:

  • 1 tuyến: Không cần đi bộ (chỉ phương tiện).
  • 2 tuyến: Cần đi bộ ở đầu HOẶC ở cuối.
  • 3 tuyến: Cần đi bộ ở cả đầu VÀ cuối.

Door‑to‑Door (GET)

Loading...
Tham số bắt buộcKiểu dữ liệuMô tả
jsonstringChuỗi JSON (URL‑encoded) chứa cùng cấu trúc như body của Door‑to‑Door (POST): gồm locations (2 điểm), costing, door_to_door: true. Có thể kèm costing_options, units, language, format.
  • Phản hồi khi gọi GET giống Door‑to‑Door (POST) ở trên.
  • Khác nhau ở phương thức: GET dùng tham số query json; POST dùng body JSON.