使用 Google Places API 找到正確地點
在這一系列教學中,我將向你展示如何使用 Google Places API 進行:
- 地址自動完成
- 附近地點搜尋
- 關鍵字文字搜尋
- 取得地點詳細資訊與照片
我會解釋每個 API 的用途、收費方式,並於每篇文章結尾提供實作範例,協助你快速在 Web App 中整合 Places API。

教學內容分篇如下:
第 1 篇:使用 Google Places API 找到正確地點(本文)
第 2 篇:使用 Places API 建立地址自動完成
第 3 篇:Place Details 與 Place Photos API
第 4 篇:Nearby Search API
第 5 篇:Places Text Search API



什麼是 Google Places API?
Google Places API 是一組 API,可以讓 Google Maps 不只是地圖,而是強大的「地點搜尋引擎」。
你可以把 Google Maps 想像成一個現代化的「地址通訊錄」,其中每一個 Place(地點) 都包含:
- 名稱
- 類型
- 地址
- GPS 座標
- 唯一識別碼(place_id)
-(可能)使用者上傳照片與評論
由於 Google Maps 使用量大,使用者也更願意留下真實評價。
Google Places API 的作用:讓你從「這本通訊錄」查詢資料,並直接使用在自己的應用程式中。
Google Places API 的五大核心功能
Place Autocomplete「地點自動完成」功能 會在使用者於搜尋框中輸入內容時提供基於位置的建議。它常用於應用程式中的地址字段,使用戶能夠快速從建議結果中進行選擇,而無需輸入完整的地址。

Place Details「地點詳情」和Place Photos「地點照片」功能讓您可以存取關於某個地點的各種數據,從名稱和地址等基本資訊到評論和照片等豐富的用戶生成內容,應有盡有。當您需要向使用者提供名稱和位置以外的更全面的地點詳情時,此功能尤其有用。

Nearby Search「附近搜尋」 功能可讓您搜尋指定區域內的地點。您可以透過提供關鍵字或指定地點類型來優化搜尋結果,這使得該 API 非常適合建立應用程序,幫助用戶發現附近的相關地點。

Text Search「文字搜尋」功能可直接取代Google地圖搜尋框,使用者可以使用自由文字搜尋地點,無論是特定的地點名稱、地址或位置類型。與專注於地理位置的「附近搜尋」不同,文字搜尋利用人工智慧來解讀用戶查詢。這些查詢既可以是餐廳名稱或地址等具體搜索, 也可以是“溫哥華最好的啤酒廠”等更廣泛的搜索。

Google Places API 金鑰
要開始使用 Google Places API,首先需要在 Google Cloud console中設定。首先,在控制台資訊中心(https://console.cloud.google.com/)建立一個新項目,並將其命名為 places-api-demo。點選 [CREATE]【創建】。

若要啟用 Google Places API,請前往「API 和服務」頁面(在左側選單中選擇)。進入該頁面後,選擇“+ 啟用 API 和服務”,然後搜尋“Places API”。此時應該會出現兩個選項:「Places API」和「Places API(新)」。我們需要同時啟用這兩個選項。

點擊每個選項,然後選擇 [ENABLE] 來啟用 API。

接下來,仍然在 places-api-demo 專案中,使用左側的導覽欄前往認證頁面。點擊 [+ 建立認證] 按鈕,然後選擇 [API 金鑰] 選項。在下一頁,使用下拉選單確保 Places API 和 Places API (New) 都已啟用。

為了增加安全性,為你的 Google Maps API 金鑰設置網站限制非常重要,以防止未經授權的使用。你可以在 API 限制區域下點擊 [Add] 新增按鈕來進行設置。由於 Google API 金鑰通常用於前端,因此可能會被通過瀏覽器檢查源代碼而暴露。為了保護它,你可以將金鑰限制在特定的網域。在上述範例中,我已將 *.afi.dev/* 設為限制,確保該金鑰僅能由 afi.dev 網域下的網站使用。
點擊 [Save] 儲存,你的 Google API 金鑰就可以使用了。要使用它,請在Credentials憑證頁面點擊 [Show Key] 顯示金鑰按鈕。
Google Places API 收費
Google 地點 API 採用按使用量付費的定價模式 (Pay-as-you-go pricing model),類似於其他 Google 地圖平台服務。以下是地點 API 的價格表(以 CPM,即每千次請求的費用計算)大致情況:
| 0 - 100k | 100k - 500k | 500k - 1M | 1M - 5M | 5M - 10M | 10M - 20M | 20M + | |
|---|---|---|---|---|---|---|---|
| Autocomplete / Request |
$2.83 | $2.27 | $1.70 | $0.85 | $0.25 | $0.17 | $0.17 |
| Autocomplete / Session |
$17.00 | $13.60 | $10.20 | $5.10 | $1.28 | $1.00 | $1.00 |
| Place Details | $17.00 | $13.60 | $10.20 | $5.10 | $1.28 | $1.00 | $1.00 |
| Place Photo | $7.00 | $5.60 | $4.20 | $2.10 | $0.53 | $0.16 | $0.06 |
| Nearby Search | $32.00 | $25.60 | $19.20 | $9.60 | $2.40 | $1.90 | $1.90 |
| Text Search | $32.00 | $25.60 | $19.20 | $9.60 | $2.40 | $1.90 | $1.90 |
Google Places API 常見應用情境
Google 地點 API 在各行各業中被廣泛使用。共乘公司利用地點自動完成(Place Autocomplete)功能來幫助客戶準確輸入上車和下車地點。與此同時,房地產公司經常使用附近搜尋(Nearby Search)來顯示特定房產列表附近步行距離內的設施,提升使用者體驗。
它在旅遊業中也很受歡迎,旅遊公司使用地點詳情(Place Details)和地點照片(Place Photo)API 為旅遊景點、飯店和餐廳添加聯絡資訊、營業時間、使用者評論、照片和評分。這讓旅客能夠在旅行期間做出明智的決策,選擇去哪裡參觀、住宿或用餐。
旅遊業使用 Google 地點 API 的一種新興且越來越普遍的方式是將其與大型語言模型(Large Language Model,簡稱 LLM)結合。例如,你可以給 ChatGPT-4o 以下提示:
“我對博物館、文化地標、漂亮的社區和法國餐廳感興趣。請為我規劃一個法國的三天行程,從我的酒店 Le Meurice 開始,並考慮我的喜好。請以 JSON 格式提供答案,並在每個地點中包含 Google Maps 的 place_id。”
這樣它會生成一個行程表,包含每個建議地點的 place_id。

大型語言模型的回應以及所包含的place_ids 可以被旅遊規劃應用程式使用,以提供個人化的建議,並附上景點和主要地標的評論、照片以及評分。

在本教學系列中你將學到的內容
在本教學結束時,你將成為 Google Places API 的專家。具體來說,你將會:
· 獲得實際操作經驗,設置地點自動完成(Place Autocomplete)來提供地址和地點建議。
· 了解如何使用地點詳情(Place Details)和地點照片(Place Photos)來獲取地點資訊,包括地址、電話號碼、營業時間、用戶評分和照片。
· 學習如何利用附近搜尋(Nearby Search)根據使用者的位置尋找附近的餐館、酒店和景點。
· 使用文字搜尋(Text Search),通過自由文本輸入方式按名稱、地址或類型搜索地點。
👋 一如以往,如果你有任何問題或者意見,歡迎喺 LinkedIn 搵我傾下!


