Find Place (舊版)

歐洲經濟區 (EEA) 開發人員

Find Place (舊版) 要求會根據文字輸入內容傳回地點。輸入內容可以是任何類型的地點文字資料,例如名稱、地址或電話號碼。要求必須是字串。如果使用非字串資料 (例如經緯度座標或 Plus Code) 提出 Find Place (舊版) 要求,會產生錯誤。

Find Place (舊版) 要求

Find Place (舊版) 要求是採用下列格式的 HTTP 網址:

https://maps.googleapis.com/maps/api/place/findplacefromtext/output?parameters

其中 output 可以是下列任一值:

  • json (建議):表示以 JavaScript 物件標記法 (JSON) 輸出
  • xml 表示輸出為 XML

您必須提供特定參數,才能發出 Find Place (舊版) 要求。依照網址標準,所有參數都會以 & 字元分隔。

必要參數

  • 輸入

    要搜尋的文字字串。這必須是地點名稱、地址或電話號碼 (例如「123 Main Street」或「City Hall」)。

  • inputtype

    輸入內容類型。可以是 textquery 或 phonenumber。電話號碼必須採用國際電話號碼格式 (開頭為加號 (「+」),後面接著國家/地區代碼,然後是電話號碼本身)。詳情請參閱 E.164 ITU 建議書。

選用參數

  • 欄位

    注意:Place Search (舊版) 要求和 Place Details (舊版) 要求不會傳回相同的欄位。Place Search (舊版) 要求會傳回 Place Details (舊版) 要求傳回的部分欄位。如果 Place Search (舊版) 沒有傳回所需欄位,您可以使用 Place Search (舊版) 取得 place_id,然後使用該地點 ID 提出 Place Details (舊版) 要求。如要進一步瞭解 Place Search (舊版) 要求不支援的欄位,請參閱「Places API 欄位支援」。

    使用 fields 參數指定要傳回的地點資料類型,並以逗號分隔的清單表示。例如:fields=formatted_address,name,geometry。指定複合值時,請使用斜線,例如:opening_hours/open_now。

    欄位分為三種計費類別:Basic、Contact 和 Atmosphere。「Basic」欄位以基本費率計費,「Contact」和「Atmosphere」欄位則以較高的費率計費。除了觸發要求的基礎 SKU (Place Details、Find Place、Nearby Search 或 Text Search) 之外,系統也會收取 Basic、Contact 和 Atmosphere SKU 的費用。詳情請參閱價目表。

    基本版

    「Basic」類別包含下列欄位:address_components、adr_address、business_status、formatted_address、geometry、icon、icon_mask_base_uri、icon_background_color、name、permanently_closed (已淘汰)、photo、place_id、plus_code、type、url、utc_offset、vicinity、wheelchair_accessible_entrance。

    聯絡人

    「Contact」類別包含下列欄位:current_opening_hours、formatted_phone_number、international_phone_number、opening_hours、secondary_opening_hours、website

    Atmosphere

    「Atmosphere」類別包含下列欄位:curbside_pickup、delivery、dine_in、editorial_summary、price_level、rating、reservable、reviews、serves_beer、serves_breakfast、serves_brunch、serves_dinner、serves_lunch、serves_vegetarian_food、serves_wine、takeout、user_ratings_total。

    注意:無論是否要求作者資訊欄位,每次呼叫一律都會傳回作者資訊 (html_attributions)。
  • language

    傳回結果時使用的語言。

    • 請參閱支援語言清單。Google 會經常更新支援的語言,因此這份清單可能不完整。
    • 如未提供 language,API 會嘗試使用 Accept-Language 標頭中指定的偏好語言。
    • API 會盡可能提供使用者和當地人都能理解的街道地址。為達成這個目標,系統會以當地語言傳回街道地址,並視需要按照偏好語言,將地址音譯為使用者可閱讀的文字。所有其他地址都會以偏好語言傳回。傳回的所有地址元件都會採用相同語言,也就是第一個元件所選的語言。
    • 如果沒有偏好語言的名稱,API 會使用最接近的相符項目。
    • 偏好語言對 API 選擇傳回的結果集和傳回順序影響不大。地理編碼器會根據語言以不同方式解讀縮寫,例如街道類型的縮寫,或可能在某種語言中有效,但在另一種語言中無效的同義詞。舉例來說,utca 和 tér 在匈牙利文中都是街道的同義詞。
  • locationbias

    指定半徑和經緯度,或指定代表矩形點的兩組經緯度,優先顯示特定區域的結果。如未指定這項參數,API 預設會使用 IP 位址偏向。

    • IP 偏誤:指示 API 使用 IP 位址偏誤。傳遞字串 ipbias (這個選項沒有其他參數)。
    • 圓形:指定半徑 (以公尺為單位) 和經緯度 (以十進制度數為單位) 的字串。請使用下列格式:circle:radius@lat,lng。
    • 矩形:以十進制度數指定兩組經緯度的字串,代表矩形的西南和東北點。請使用下列格式:rectangle:south,west|north,east。請注意,東西向值會納入 -180 到 180 的範圍,南北向值則會限制在 -90 到 90 的範圍。

Find Place (舊版) 範例

以下範例顯示「澳洲當代藝術博物館」的 Find Place (舊版) 要求,包含 photos、formatted_address、name、rating、opening_hours 和 geometry 欄位:

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Museum%20of%20Contemporary%20Art%20Australia&inputtype=textquery&fields=formatted_address%2Cname%2Crating%2Copening_hours%2Cgeometry&key=YOUR_API_KEY'

HTTP

https://maps.googleapis.com/maps/api/place/findplacefromtext/json
    ?fields=formatted_address%2Cname%2Crating%2Copening_hours%2Cgeometry
    &input=Museum%20of%20Contemporary%20Art%20Australia
    &inputtype=textquery
    &key=YOUR_API_KEY

以下範例顯示「Mongolian Grill」的 Find Place (舊版) 要求,使用 locationbias 參數優先顯示指定座標 2000 公尺內的結果:

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=Mongolian%20Grill&inputtype=textquery&fields=formatted_address%2Cname%2Crating%2Copening_hours%2Cgeometry&locationbias=circle:2000@−33.866,151.216&key=YOUR_API_KEY'

HTTP

https://maps.googleapis.com/maps/api/place/findplacefromtext/json
    ?fields=formatted_address%2Cname%2Crating%2Copening_hours%2Cgeometry
    &input=Mongolian%20Grill
    &inputtype=textquery
    &locationbias=circle:2000@−33.866,151.216
    &key=YOUR_API_KEY

以下範例顯示針對電話號碼提出的 Find Place (舊版) 要求。請注意,國際電話前置字元「+」已編碼為 %2B,因此這項要求是符合規定的網址。如果未編碼,+ 前置字元會在伺服器上解碼為空格,導致電話號碼查詢無效。

curl

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=%2B16502530000&inputtype=phonenumber&fields=formatted_address%2Cname%2Crating%2Copening_hours%2Cgeometry&key=YOUR_API_KEY'

HTTP

https://maps.googleapis.com/maps/api/place/findplacefromtext/json
    ?fields=formatted_address%2Cname%2Crating%2Copening_hours%2Cgeometry
    &input=%2B16502530000
    &inputtype=phonenumber
    &key=YOUR_API_KEY

Find Place (舊版) 回應

Find Place (舊版) 回應只會包含使用 fields 參數指定的資料類型,以及 html_attributions。以下範例顯示對「澳洲當代藝術博物館」提出 Find Place (舊版) 要求的回應,包含 formatted_address、geometry、name、opening_hours、photos、rating 欄位。

JSON

{
  "candidates":
    [
      {
        "formatted_address": "140 George St, The Rocks NSW 2000, Australia",
        "geometry":
          {
            "location": { "lat": -33.8599358, "lng": 151.2090295 },
            "viewport":
              {
                "northeast":
                  { "lat": -33.85824377010728, "lng": 151.2104386798927 },
                "southwest":
                  { "lat": -33.86094342989272, "lng": 151.2077390201073 },
              },
          },
        "name": "Museum of Contemporary Art Australia",
        "opening_hours": { "open_now": false },
        "rating": 4.4,
      },
    ],
  "status": "OK",
}    

XML

<?xml version="1.0" encoding="UTF-8"?>
<FindPlaceFromTextResponse>
 <candidates>
  <name>Museum of Contemporary Art Australia</name>
  <formatted_address>140 George St, The Rocks NSW 2000, Australia</formatted_address>
  <geometry>
   <location>
    <lat>-33.8599358</lat>
    <lng>151.2090295</lng>
   </location>
   <viewport>
    <southwest>
     <lat>-33.8609434</lat>
     <lng>151.2077390</lng>
    </southwest>
    <northeast>
     <lat>-33.8582438</lat>
     <lng>151.2104387</lng>
    </northeast>
   </viewport>
  </geometry>
  <rating>4.4</rating>
  <opening_hours>
   <open_now>false</open_now>
  </opening_hours>
 </candidates>
 <status>OK</status>
</FindPlaceFromTextResponse>

    

PlacesFindPlaceFromTextResponse

欄位 必填 類型 說明
required Array<Place>

包含候選地點陣列。

Place Search (舊版) 要求會傳回 Place Details (舊版) 要求傳回的部分欄位。如果 Place Search (舊版) 沒有傳回所需欄位,您可以使用 Place Search (舊版) 取得 place_id,然後使用該地點 ID 提出 Place Details (舊版) 要求。

詳情請參閱「Place」。

required PlacesSearchStatus

內含要求的狀態,可能還包含偵錯資訊,方便您追查要求失敗的原因。

詳情請參閱 PlacesSearchStatus。

選填 字串

如果服務傳回 OK< 以外的狀態碼,回應物件中可能會有額外的 error_message 欄位。這個欄位包含更詳細的資訊,說明指定狀態碼背後的原因。這個欄位不一定會傳回,且內容可能會有變動。

選填 Array<string>

如果服務傳回要求規格的其他資訊,回應物件中可能會有額外的 info_messages 欄位。只有成功的要求才會傳回這個欄位。系統不一定會傳回這項資訊,且內容可能會有變動。

PlacesSearchStatus

服務傳回的狀態碼。

  • OK:表示已成功完成 API 要求。
  • ZERO_RESULTS:表示搜尋成功,但未傳回任何結果。如果搜尋作業收到遠端位置的 latlng,就有可能發生這種情況。
  • INVALID_REQUEST:表示 API 要求格式錯誤,通常是因為缺少必要的查詢參數 (location 或 radius)。
  • OVER_QUERY_LIMIT,表示下列任一情況:
    • 您已超過 QPS 限制。
    • 您的帳戶未啟用計費功能。
    • 超過每月 $200 美元的抵免額,或自行設定的用量上限。
    • 您提供的付款方式已失效 (例如信用卡已過期)。
    如要進一步瞭解如何解決這項錯誤,請參閱地圖常見問題。
  • REQUEST_DENIED:表示您的要求遭拒,通常是因為:
    • 要求缺少 API 金鑰。
    • key 參數無效。
  • UNKNOWN_ERROR:表示發生未知錯誤。

地點

Place Search 回應會傳回下列地點欄位子集。並非所有屬性都適用於所有地點類型。如要擷取 Place Search 未傳回的欄位 (例如 address_components、formatted_phone_number、reviews 或 website),請在 Place Details (舊版) 要求中傳遞傳回的 place_id。如要瞭解各端點的欄位可用性和定價級別,請參閱「地點資料欄位 (舊版)」。

欄位 類型 說明
business_status string 表示地點的營業狀態 (如果地點為商家):OPERATIONAL、CLOSED_TEMPORARILY 或 CLOSED_PERMANENTLY。如果沒有狀態資料,則會省略。
formatted_address string 這個地點的人類可讀地址。由 Text Search (舊版) 和 Find Place (舊版) 傳回。請勿以程式輔助方式剖析格式化地址,而應在 Place Details (舊版) 中要求 address_components。
geometry Geometry 包含經過地理編碼的 location (含 lat 和 lng 座標),以及偏好的 viewport (含 northeast 和 southwest 邊界)。
icon string 建議圖示的網址,可在地圖上標示這項結果時顯示。
icon_background_color string 地點類別的預設十六進位顏色代碼。
icon_mask_base_uri string 建議圖示的基準網址,不含 SVG 或 PNG 檔案類型副檔名。
name string 傳回結果的人類可讀名稱。如果是 establishment 結果,這個值通常是標準化商家名稱。
opening_hours PlaceOpeningHours 營業時間資訊。Place Search 端點只會傳回 open_now 布林值子欄位;如要取得 periods 和 weekday_text,請在 Place Details (舊版) 中要求 opening_hours。
permanently_closed boolean 已淘汰:請使用 business_status 查看商家的營業狀態。
photos Array<PlacePhoto> PlacePhoto 物件陣列,每個物件都包含 photo_reference、height、width 和 html_attributions。如需使用詳情,請參閱「Place Photos (舊版)」。
place_id string 用來識別特定地點的文字 ID。請在 Place Details (舊版) 要求的 place_id 參數中傳遞這個 ID。請參閱地點 ID 總覽。
plus_code PlusCode 衍生自經緯度座標的編碼位置參照,包含 global_code 和選用的 compound_code。
price_level integer 地點的價格等級,範圍從 0 到 4,由最便宜到最昂貴。詳情請參閱 price_level。
rating number 地點評分 (1.0 到 5.0,根據綜合使用者評論計算)。
reference string 已淘汰:請改用 place_id。
scope string 已淘汰:表示 place_id 的範圍,一律為 GOOGLE。由 Nearby Search (舊版) 傳回。
types Array<string> 描述指定結果的特徵類型陣列。請參閱「地點類型 (舊版)」。
user_ratings_total integer 這個地點的評分總數 (無論是否包含評論文字)。
vicinity string 地點的簡化地址,包括街道名稱、門牌號碼和縣市,但不含州/省、郵遞區號或國家/地區。由 Nearby Search (舊版) 傳回。