Routes API 總覽

Routes API 是一種服務,可接受 HTTPS 要求,並傳回兩個地點之間的理想路線,或是不同起點和目的地之間路線矩陣的距離和行程時間。

使用 Routes API 的原因

透過 Routes API,您可以使用運輸詳細資料、最新的車流量和道路狀況,以及路線偏好設定,取得準確的路線和行程資訊:

  • 不同交通工具的類型和功能

  • 車輛行駛的方向

  • 上車或下車的路邊

  • 路況和道路封閉

  • 安全性疑慮,例如避免危險區域或提供安全的接送地點

  • 透過可選功能 (例如通行費和行程中繼資料,例如時間和距離) 和路線規劃需求取得平衡,包括延遲時間、品質和成本,以及燃料效率

您也可以決定最有效率的調度排程路線,例如:

  • 如何最佳分配一組工作人員來取件

  • 判斷最適合運送包裹至最終目的地的倉庫

Routes API 提供哪些功能?

您可以使用 Routes API 取得兩大類的路徑資訊:

  • 從某個地點前往單一或多個目的地的路線

  • 許多起點和終點之間的可能路線矩陣

取得單一或多個目的地的路線

您可以使用 Routes API Compute Routes 方法,計算兩個位置之間的距離:

取得可能路線的矩陣

Routes API Compute Route Matrix 方法會提供多個起點和終點之間建議路線的資訊矩陣,包括距離和預估到達時間,協助您根據業務需求選擇最佳起點和目的地。您可以要求下列類型的距離資料:

  • 所選交通模式的距離

  • 距離單位為公里或英里

  • 預估交通時間

有了距離資料,您就能決定在多個可能的起點和目的地之間,為乘客、貨物或工人安排最有效率的路線。

您可以在計算整個矩陣之前,透過串流傳輸回應元素,藉此降低回應延遲時間。

您可以為每個伺服器端要求指定多個出發地和目的地,出發地數量乘以目的地數量最多可達 625。

Routes API 的運作方式

Routes API 有兩種方法:ComputeRoutesComputeRouteMatrix

ComputeRoutes

Routes API ComputeRoutes 方法會接受 HTTP POST 要求,其中包含含有要求詳細資料的 JSON 要求主體。您必須提供起點、目的地、travelMode 和欄位遮罩,才能指定要傳回的欄位。

範例

curl -X POST -d '{
    "origin": {
      "address": "1800 Amphitheatre Parkway, Mountain View, CA 94043"
    },
    "destination": {
      "address": "Sloat Blvd &, Upper Great Hwy, San Francisco, CA 94132"
    },
  "travelMode": "DRIVE"
  }' \
  -H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
  -H 'X-Goog-FieldMask: routes.duration,routes.distanceMeters' \
  'https://routes.googleapis.com/directions/v2:computeRoutes'

接著,服務會計算要求的路線,並傳回您要求的欄位。

ComputeRouteMatrix

Routes API ComputeRouteMatrix 會接受 HTTP POST 要求,其中包含含有要求詳細資料的 JSON 要求主體。至少需要一個起點、兩個以上的目的地、travelMode,以及欄位遮罩,用於指定要傳回的欄位。

範例

curl -X POST -d '{
  "origins": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420761,
            "longitude": -122.081356
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.403184,
            "longitude": -122.097371
          }
        }
      }
    }
  ],
  "destinations": [
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.420999,
            "longitude": -122.086894
          }
        }
      }
    },
    {
      "waypoint": {
        "location": {
          "latLng": {
            "latitude": 37.383047,
            "longitude": -122.044651
          }
        }
      }
    }
  ],
  "travelMode": "DRIVE"
}' \
-H 'Content-Type: application/json' -H 'X-Goog-Api-Key: YOUR_API_KEY' \
-H 'X-Goog-FieldMask: originIndex,destinationIndex,duration,distanceMeters,status,condition' \
'https://routes.googleapis.com/distanceMatrix/v2:computeRouteMatrix'

回應包含所有起點和目的地路標組合的可能路線。

資源

下表總結了可透過 Routes API 取得的資源,以及該 API 傳回的資料。

資料資源 傳回的資料 傳回格式
ComputeRoutes 傳回路線、路段和步驟,以及替代路線 (如果要求)。 JSON
ComputeRouteMatrix 傳回從一個起點路線點到一個目的地路線點的路線陣列。

如何使用 Routes API

1 做好準備 請先參閱「設定 Google Cloud 專案」一文,並完成後續設定說明。
2 計算路線並查看回應 詳情請參閱「取得路線」和「查看路線回應」。
3 計算路線矩陣並查看回應 詳情請參閱「取得路線矩陣」和「查看路線矩陣回應」。

可用的用戶端程式庫

如需 Routes API 適用的可用用戶端程式庫清單,請參閱「用戶端程式庫」。

後續步驟