平滑度和擬真度
您可以使用 polygon_fidelity 和 enable_smoothing 參數,自訂輸出多邊形的外觀和精確度。雖然這些選項各自獨立,但會共同決定最終形狀。
polygonFidelity(polygon_fidelity):解析度。控制用於計算可到達區域的基礎空間格線儲存格大小。LOW:使用最大的格線單元 (寬度達數百公尺)。最適合用於涵蓋大範圍區域且不留空隙,並盡可能減少頂點數量,因此會產生一般化形狀,可能會高估狹窄道路走廊沿線的可到達區域。MEDIUM:平衡精確度和酬載大小。HIGH:使用最小的格線儲存格 (寬度約 100 至 150 公尺)。結果會更貼近道路網路,頂點也更多,但道路網路稀疏的地方可能會產生內部空洞。- 預設 (
POLYGON_FIDELITY_UNSPECIFIED):如未指定,服務會根據交通工具和時間長度自動選取解析度,短時間和WALK使用較精細的儲存格,長時間則使用較粗略的儲存格。如要比較不同時間長度或交通方式的等時線,請明確設定polygonFidelity,讓這些等時線使用相同的解析度。
儲存格大小為約略值。如果等時線非常大,系統可能會進一步一般化,確保回應大小在可管理的範圍內。
enableSmoothing(enable_smoothing):美學。控制是否要將精確度定義的格線儲存格階梯狀邊緣修圓。false(原始):傳回與格線對齊的邊界。邊緣會呈現鋸齒狀或階梯狀,反映網格儲存格。最適合用於分析準確度,例如嚴格的多邊形內點測試。true(平滑):將角落修圓,同時大致保留每個環的面積。最適合在地圖上顯示。由於邊界不再遵循網格單元,請勿用於嚴格的點在多邊形內測試。
兩者如何互動:擬真度會設定平滑演算法作用的基準細節。
- 高保真度 + 平滑化:產生細緻、自然的形狀,緊貼道路末端。
- 低擬真度 + 平滑化:產生寬廣、一般化的「斑點」形狀。
酬載大小和算繪
大型等時線 (尤其是精確度為 HIGH 的長時間要求) 可能包含數萬個座標,未壓縮的 JSON 回應可能達數百 KB 以上。
- 頻寬:請注意,如果要求時間長度達到上限,且音訊逼真度高,JSON 回應的大小會很大。
- 算繪:算繪極為精細的多邊形會影響用戶端效能。如要減少頂點數量和酬載大小,請選擇
polygonFidelity: MEDIUM或LOW,或在算繪前使用線條簡化演算法 (例如 Douglas-Peucker),簡化用戶端上的幾何圖形。
延遲時間和用戶端逾時
回應延遲時間會隨著經過的路網大小而增加:短時間和 WALK 和 BICYCLE 模式最快,而長時間的 DRIVE 和 TWO_WHEELER 要求 (尤其是 TRAFFIC_AWARE) 則最慢。
- 建議的用戶端逾時:將 HTTP 或 gRPC 用戶端期限設為至少 30 秒,以免長時間要求因用戶端逾時時間過短而提早中止。
錯誤處理
針對 429
RESOURCE_EXHAUSTED 頻率限制回應和 5xx 伺服器錯誤,導入重試邏輯,並採用指數輪詢和隨機延遲機制。如果未變更要求,請勿重試 400、403 或 404 用戶端錯誤:
INVALID_ARGUMENT (400):請確認travelDuration介於1s和3600s(DRIVE/TWO_WHEELER) 或7200s(WALK/BICYCLE) 之間、location未省略且不是(0, 0)(或place是有效的地點 ID),且TRAFFIC_AWARE僅與DRIVE或TWO_WHEELER搭配使用。如果省略latitude或longitude,系統會將其視為0.0,因此只省略其中一個通常不會導致400錯誤 (除非另一個值也是0.0)。如果等時線顯示在錯誤的位置,請仔細檢查這兩個值。PERMISSION_DENIED (403):請確認您已加入 API 金鑰或 OAuth 權杖,且 Google Cloud 雲端專案已啟用 Isochrones API 和計費功能。NOT_FOUND (404):place無法解析為地點,或起點無法貼齊至附近可供交通模式使用的道路 (約 200 公尺內,WALK和BICYCLE則更短)。RESOURCE_EXHAUSTED (429):專案超過每分鐘要求配額 (預設為 300 QPM)。以指數輪詢方式重試。