本指南會說明傳統地點服務和新 Place 類別之間的主要差異。升級至 Place 類別可帶來許多優勢,包括改善效能和採用新的定價模式。如要充分運用 Places,並確保應用程式保持最新狀態,請熟悉本指南中詳述的變更。
啟用 Places API
Place 類別會依賴 Places API 服務。如要使用新 Place 類別的功能,您必須先在 Google Cloud 專案中啟用 Places API (新版)。詳情請參閱入門指南。
一般變更
下表列出 PlacesService
和 Place
之間的一些主要差異:
PlacesService (舊版) |
Place (新版) |
---|---|
方法必須使用回呼來處理結果物件和 google.maps.places.PlacesServiceStatus 回應。 |
使用 Promise,並以非同步方式運作。 |
方法需要進行 PlacesServiceStatus 檢查。 |
不需要進行狀態檢查,可以使用標準錯誤處理。 |
地點資料欄位的格式為蛇形命名法。 | Place 資料欄位的格式為駝峰式大小寫。 |
僅限於固定的地點類型和地點資料欄位。 | 提供定期更新的地點類型和地點資料欄位的擴充選項。 |
API 專屬變更
「地點」類別提供 API,方便您使用 Places 程式庫,並支援 Promise 等新型使用模式。Place 類別會公開與舊版 Places Service 相同的地點資料欄位和地點類型,並包含許多地點資料欄位和地點類型的新值。
下表說明 Places 服務的功能與 Place 類別的功能對應關係:
載入 Places 程式庫
應用程式載入 Places 程式庫的方式取決於使用的 Bootstrap 載入器。如果應用程式使用動態程式庫匯入,您可以在執行階段載入所需的程式庫,方法是使用 await
運算子呼叫 importLibrary()
,如下所示:
const { Place } = await google.maps.importLibrary("places");
如果您的應用程式使用直接指令碼載入標記,請在載入器指令碼中要求 places
程式庫:
<script async
src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&loading=async&libraries=places&callback=initMap">
</script>
如要進一步瞭解如何載入 Maps JavaScript API,請參閱本文。
本節提供以下指南,協助您將應用程式遷移至使用最新版本的 Places API: