導航 ・ Routes

Routes

給起點與終點,回傳路線幾何、總距離、預估時間與逐段轉向指示。 交通方式、途經點與要避開的路段都能指定。

交通方式
5
途經點
10
回傳語言
zh-TW
交通方式 設為 driving
交通方式driving4.2 公里 ・ 11 分鐘 ・ 7 段指示
交通方式 設為 walking
交通方式walking3.2 公里 ・ 43 分鐘 ・ 8 段指示

交通方式

駕車、機車、單車、步行與大眾運輸。同一組起訖點換個方式,路徑與耗時都不一樣。單車會避開高架與快速道路,步行則會走進車輛到不了的巷弄。

交通方式 設為 driving
交通方式driving4.2 公里 ・ 11 分鐘 ・ 7 段指示
交通方式 設為 bicycling
交通方式bicycling3.3 公里 ・ 13 分鐘 ・ 9 段指示
交通方式 設為 walking
交通方式walking3.2 公里 ・ 43 分鐘 ・ 8 段指示

大眾運輸另有兩個參數可調:

  • transit_mode: 指定偏好的運具(公車、捷運、輕軌、鐵路)
  • transit_routing_preference: 指定偏好(最推薦、最快、轉乘最少)

途經點

起訖之間可以插入最多 10 個必經點,用 | 分隔。 每一段會各自成為一個 leg,距離與時間分開回傳。

leg 1leg 2leg 3起點途經 1途經 2終點
兩個途經點把路線切成三段,每一段的距離與時間分開回傳。示意圖,非實際路網。

超過 10 個途經點、或需要「自動排出最省時的造訪順序」,要改用 Direction Advanced。

逐段指示

回應的結構是 routes → legs → steps。
route 是一整條路線,leg 是兩個必經點之間的一段,step 是一個轉向動作。 每個 step 都帶指示文字、距離、時間與可解碼的路徑幾何。

  1. 1向南走南京西路18巷255 公尺1 分鐘
  2. 2左轉長安西路157 公尺1 分鐘
  3. 3直行長安東路一段838 公尺2 分鐘
  4. 4右轉進長安東路入口匝道235 公尺1 分鐘
  5. 5上新生高架道路16 公尺1 分鐘
  6. …全程 3.9 公里 ・ 13 分鐘 ・ 共 14 段
路徑每推進一段,對應的那一則指示就亮起。指示文字取自實際回應;路徑為示意。

leg 上另有 start_address / end_address、arrival_time / departure_time 與 via_waypoint。
step 的路徑用 map.decodePolyline() 解出座標後就能畫在圖台上。

起訖點寫法

起點與終點接受三種格式,混用也可以。座標與地址的效能較好。

寫法範例
座標25.02993308414, 121.5362938591
地址台北市中正區羅斯福路二段100號
Place IDplace_id:DKZLSQ

Place ID 來自地點搜尋(Text Search / Nearby Search)的回傳, 所以「搜尋 → 規劃路線」可以一路串起來不必再做一次地理編碼。

進階版差異

基本版涵蓋一般情境。以下任一項成立時要改用 Direction Advanced。

項目DirectionDirection Advanced
途經點數量最多 10 個最多 30 個
出發時間只能是呼叫當下可指定現在或未來時間
車種駕車/機車/單車/步行/大眾運輸另含重機 150cc 以上、貨車 3.5–6.5 噸、大貨車 6.5 噸以上
途經點最佳化不支援支援,自動排出最省時順序
即時路況不支援回應含 duration_in_traffic

即時路況要同時滿足三個條件才會啟用:車種為駕車類、帶了合法的 departure_time(不能是過去時間)、且請求不含途經點。 回應裡出現 duration_in_traffic 就表示生效了。

串接 API

REST 端點是 GET /maps/api/Directions/json。

curl -sS -G "https://kwmap.localking.com.tw/maps/api/Directions/json" \
  --data-urlencode "Key=<your-key>" \
  --data-urlencode "Origin=25.0525,121.5203" \
  --data-urlencode "Destination=25.0418,121.5440" \
  --data-urlencode "Mode=driving" \
  --data-urlencode "Language=zh-TW" \
  -H "Ocp-Apim-Subscription-Key: <subscription-key>"

完整參數與回應結構見 API 文件。