Place Details (舊版)

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

取得地點搜尋結果的 place_id 後,您可以發出 Place Details (舊版) 要求,索取特定商家或景點的詳細資料。Place Details (舊版) 要求會傳回指定地點的更完整資訊,例如完整地址、電話號碼、使用者評分和評論。

Place Details (Legacy) 要求

Place Details (Legacy) 要求是以下形式的 HTTP 網址:

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

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

  • json (建議使用) 表示以 JavaScript 物件標記法 (JSON) 輸出
  • xml 表示以 XML 格式輸出

您必須加入某些參數,才能提出搜尋要求。依照網址標準,所有參數都會以 & 字元分隔。以下列出參數和可能的值。

必要參數

  • place_id

    用來識別特定地點的文字 ID,由地點搜尋服務傳回。如要進一步瞭解地點 ID,請參閱地點 ID 總覽

選用參數

  • 欄位

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

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

    欄位分為三種計費類別:基本聯絡資訊氣氛除了基本 SKU (Places Details、Find Place、Nearby Search 或 Text Search) 以外,系統也會針對觸發要求的 Basic、Contact 和 Atmosphere SKU 收費。詳情請參閱價目表

    基本版

    「Basic」類別包含下列欄位: address_componentsadr_addressbusiness_statusformatted_addressgeometryiconicon_mask_base_uriicon_background_colornamepermanently_closed (已淘汰)、photoplace_idplus_codetypeurlutc_offsetvicinitywheelchair_accessible_entrance

    聯絡人

    「Contact」類別包含下列欄位: current_opening_hoursformatted_phone_number international_phone_numberopening_hours secondary_opening_hourswebsite

    Atmosphere

    「Atmosphere」類別包含下列欄位: curbside_pickupdeliverydine_ineditorial_summaryprice_levelratingreservablereviewsserves_beerserves_breakfastserves_brunchserves_dinnerserves_lunchserves_vegetarian_foodserves_winetakeoutuser_ratings_total

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

    傳回結果時使用的語言。

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

    區碼,指定為 ccTLD (「頂層網域」) 的兩位字元值。大多數 ccTLD 代碼與 ISO 3166-1 代碼相同,但有一些需要注意的例外情況。舉例來說,英國的 ccTLD 是「uk」(.co.uk),而 ISO 3166-1 代碼是「gb」(技術上是指「大不列顛及北愛爾蘭聯合王國」實體)。

  • reviews_no_translations

    指定 reviews_no_translations=true 即可停用評論翻譯功能;指定 reviews_no_translations=false 即可啟用評論翻譯功能。系統會以原文顯示評論。

    如果省略或傳遞的值為空值,系統會啟用評論翻譯功能。如果要求中指定 language 參數,請使用指定的語言做為翻譯偏好語言。如果省略 language,API 會嘗試使用 Accept-Language 標頭做為偏好語言。

  • reviews_sort

    傳回評論時使用的排序方式。可設為 most_relevant (預設) 或 newest

    • 如果是 most_relevant (預設),評論會依據相關性排序;服務會偏向回傳以偏好語言撰寫的評論。
    • 如果是 newest,評論會依時間先後排序,偏好語言不會影響排序順序。

    Google 建議向使用者顯示評論的排序方式。

  • sessiontoken

    隨機字串,用於識別自動完成工作階段,以利計費。

    工作階段是從使用者輸入查詢時開始,到使用者選取地點並發出 Place Details 呼叫時結束。在每個工作階段中,使用者可以輸入多筆查詢,最終選擇一個地點。工作階段中每個要求使用的 API 金鑰必須屬於同一個 Google Cloud 控制台專案。工作階段結束後,符記就會失效。您的應用程式必須為每個工作階段產生新的符記。如果省略 sessiontoken 參數或重複使用工作階段符記,系統會視為未提供工作階段符記,並針對工作階段收費 (每個要求分別收費)。

    建議遵循下列準則:

    • 在所有自動完成工作階段使用工作階段符記。
    • 為每個工作階段產生新的符記。建議使用第 4 版 UUID。
    • 請確保工作階段中所有 Place Autocomplete 和 Place Details 要求使用的 API 金鑰都屬於同一個 Cloud 控制台專案。
    • 請務必針對每個新的工作階段傳遞不重複的工作階段符記。如果多個工作階段使用同一個符記,則每個要求會分別計費。

Place Details (Legacy) 範例

以下範例會透過 place_id 要求地點詳細資料,並包含 nameratingformatted_phone_number 欄位:

網址

https://maps.googleapis.com/maps/api/place/details/json
  ?fields=name%2Crating%2Cformatted_phone_number
  &place_id=ChIJN1t_tDeuEmsRUsoyG83frY4
  &key=YOUR_API_KEY

cURL

curl -L -X GET 'https://maps.googleapis.com/maps/api/place/details/json?place_id=ChIJN1t_tDeuEmsRUsoyG83frY4&fields=name%2Crating%2Cformatted_phone_number&key=YOUR_API_KEY'

請注意,您必須將本例中的金鑰替換為自己的 API 金鑰,要求才能在應用程式中運作。

Place Details (舊版) 回應

Place Details (Legacy) 回應會以要求網址路徑中的 output 標記所指出的格式傳回。

JSON

{
  "html_attributions": [],
  "result":
    {
      "address_components":
        [
          { "long_name": "48", "short_name": "48", "types": ["street_number"] },
          {
            "long_name": "Pirrama Road",
            "short_name": "Pirrama Rd",
            "types": ["route"],
          },
          {
            "long_name": "Pyrmont",
            "short_name": "Pyrmont",
            "types": ["locality", "political"],
          },
          {
            "long_name": "City of Sydney",
            "short_name": "City of Sydney",
            "types": ["administrative_area_level_2", "political"],
          },
          {
            "long_name": "New South Wales",
            "short_name": "NSW",
            "types": ["administrative_area_level_1", "political"],
          },
          {
            "long_name": "Australia",
            "short_name": "AU",
            "types": ["country", "political"],
          },
          {
            "long_name": "2009",
            "short_name": "2009",
            "types": ["postal_code"],
          },
        ],
      "adr_address": '<span class="street-address">48 Pirrama Rd</span>, <span class="locality">Pyrmont</span> <span class="region">NSW</span> <span class="postal-code">2009</span>, <span class="country-name">Australia</span>',
      "business_status": "OPERATIONAL",
      "formatted_address": "48 Pirrama Rd, Pyrmont NSW 2009, Australia",
      "formatted_phone_number": "(02) 9374 4000",
      "geometry":
        {
          "location": { "lat": -33.866489, "lng": 151.1958561 },
          "viewport":
            {
              "northeast":
                { "lat": -33.8655112697085, "lng": 151.1971156302915 },
              "southwest":
                { "lat": -33.86820923029149, "lng": 151.1944176697085 },
            },
        },
      "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/generic_business-71.png",
      "icon_background_color": "#7B9EB0",
      "icon_mask_base_uri": "https://maps.gstatic.com/mapfiles/place_api/icons/v2/generic_pinlet",
      "international_phone_number": "+61 2 9374 4000",
      "name": "Google Workplace 6",
      "opening_hours":
        {
          "open_now": false,
          "periods":
            [
              {
                "close": { "day": 1, "time": "1700" },
                "open": { "day": 1, "time": "0900" },
              },
              {
                "close": { "day": 2, "time": "1700" },
                "open": { "day": 2, "time": "0900" },
              },
              {
                "close": { "day": 3, "time": "1700" },
                "open": { "day": 3, "time": "0900" },
              },
              {
                "close": { "day": 4, "time": "1700" },
                "open": { "day": 4, "time": "0900" },
              },
              {
                "close": { "day": 5, "time": "1700" },
                "open": { "day": 5, "time": "0900" },
              },
            ],
          "weekday_text":
            [
              "Monday: 9:00 AM – 5:00 PM",
              "Tuesday: 9:00 AM – 5:00 PM",
              "Wednesday: 9:00 AM – 5:00 PM",
              "Thursday: 9:00 AM – 5:00 PM",
              "Friday: 9:00 AM – 5:00 PM",
              "Saturday: Closed",
              "Sunday: Closed",
            ],
        },
      "photos":
        [
          {
            "height": 3024,
            "html_attributions":
              [
                '<a href="https://maps.google.com/maps/contrib/117600448889234589608">Cynthia Wei</a>',
              ],
            "photo_reference": "Aap_uEC6jqtpflLS8GxQqPHBjlcwBf2sri0ZErk9q1ciHGZ6Zx5HBiiiEsPEO3emtB1PGyWbBQhgPL2r9CshoVlJEG4xzB71QMhGBTqqeaCNk1quO3vTTiP50aM1kmOaBQ-DF1ER7zpu6BQOEtnusKMul0m4KA45wfE3h6Xh2IxjLNzx-IiX",
            "width": 4032,
          },
          {
            "height": 3264,
            "html_attributions":
              [
                '<a href="https://maps.google.com/maps/contrib/102493344958625549078">Heyang Li</a>',
              ],
            "photo_reference": "Aap_uECyRjHhOQgGaKTW6Z3ZfTEaDhNc44m0F6GrNSFIMffixwI5xqD35QhecdzVY-FUuDtVE1huu8-2HkxgI9Gwvy6W18fU-_E3UUkdSFBQqGK8_slKlT8BZZc66sTX53IEcTDrZfT-E5_YUBYBOm13yxOTOfWfEDABhaxCGC5Hu_XYh0fI",
            "width": 4912,
          },
          {
            "height": 3036,
            "html_attributions":
              [
                '<a href="https://maps.google.com/maps/contrib/104829437842034782235">Anna Linetsky</a>',
              ],
            "photo_reference": "Aap_uEAumTzSdhRHDutPAj6wVPSZZmBV-brI6TPFwI0tcQlbSR74z44mUPr4aXMQKck_AzHaKmbfR3P2c1qsu45i1RQPHrcpIXxrA78FmDjCdWYYZWUnFozdcmEj9OQ_V0G08adpKivMKZyeaQ1NuwRy9GhSopeKpzkzkFZG5vXMYPPSgpa1",
            "width": 4048,
          },
          {
            "height": 4016,
            "html_attributions":
              [
                '<a href="https://maps.google.com/maps/contrib/107755640736541028674">Jonah Dell</a>',
              ],
            "photo_reference": "Aap_uECC7cSbDkh-TdmXr6m5d5pgVXJmvXg8dF2jzhL0b0Ko4CtnVll6-tIvdz7vhbCsd3hl2u9EgZ4Y30FBxKmFcimfeYUgW2XJyv8JY5IYGuXsKkCLqpV3QH9dIGwoUv2uX0eosDsUsTN2DOlyOasUgVxcYqzIzEmrL5ofIssThQWZeozD",
            "width": 6016,
          },
          {
            "height": 3024,
            "html_attributions":
              [
                '<a href="https://maps.google.com/maps/contrib/115886271727815775491">Anthony Huynh</a>',
              ],
            "photo_reference": "Aap_uEDTdw58CglFmZZAR9iZ05x3y2oK9r5_dRqKWnbZKSS9gs6gp9AeBa1QDvBL6dzZyQAZfN8H2Eppu6y4NBaPOp-GkulZYiKRM7Yww8sUEv-8dmcq35Tx38pe4LEX2wIicFkQHedRgMc0FfV9aFtgosQ5ps5-HCjJSApg8eLGyuxxqPm9",
            "width": 4032,
          },
          {
            "height": 3024,
            "html_attributions":
              [
                '<a href="https://maps.google.com/maps/contrib/102939237947063969663">Jasen Baker</a>',
              ],
            "photo_reference": "Aap_uEAGqslqZPhZUk0T2Y6l7mkCYnY7JN9li4g5NkZsE0N4Cdy7_cZ-fZWyV02VhpQR4Ph4fLUL6_WTXrlGMXXzUJXUcSmSTs2d_Dzf3Q_A1y07Dm-vtv7pS3JXsWyrWETGIoT1pIj81PPdUc1vlR2i3GFMWAbx9rCC472ZJclY8JlvMg-x",
            "width": 4032,
          },
          {
            "height": 3024,
            "html_attributions":
              [
                '<a href="https://maps.google.com/maps/contrib/100678816592586275978">Jeremy Hsiao</a>',
              ],
            "photo_reference": "Aap_uEBaGxeN90YFjD-AUjxZqM44kpMcICKKBBhb0RQQS7DHHFaay8RRAwjWsAt8GEmmB5QnxrbQWHU3TwhVXXHP0m-YNp9Ds3ihpiFan0moNv4QB7kern5cfjWhhrWe8B0dz_vYvmPssJE24P-24YfWWHubOo0L2MjQyueZfDv57N_RvDZk",
            "width": 4032,
          },
          {
            "height": 1515,
            "html_attributions":
              [
                '<a href="https://maps.google.com/maps/contrib/112343109286948028063">Andrew W</a>',
              ],
            "photo_reference": "Aap_uEBDzJlmTeNUreMop6_hkC1HKTCRLyPs5fikJi58qCejtkWp5PIM6vzNN3HErkSWUwnamTr_WLyT7jXMAIdByR-hx8dG-OHjj5JxzmcPvuT_VeVLmdSbNPeIlpmp6EUcPOhaVrhEKojSd44QXkl0za29eZ0oj1KDOnAsGxmhanDFW7lI",
            "width": 2048,
          },
          {
            "height": 3024,
            "html_attributions":
              [
                '<a href="https://maps.google.com/maps/contrib/100678816592586275978">Jeremy Hsiao</a>',
              ],
            "photo_reference": "Aap_uEBvYFpzCDQzvQ0kdBxxB70lTkLbTM0yH3xF-BCHsb7DQ63cuWnutvwv8oVLDSbA14_kns3WVlEInTyy2elvmH5lzQteb6zzRu3exkwE65_55TgJqdLO7RYYiPFliWk4ocszn9nn5ELv5uP2BQmqr9QET5vwgxR-0eshyVmcdM42jb39",
            "width": 4032,
          },
          {
            "height": 4032,
            "html_attributions":
              [
                '<a href="https://maps.google.com/maps/contrib/100678816592586275978">Jeremy Hsiao</a>',
              ],
            "photo_reference": "Aap_uECQynuD_EnSnbz8sJQ6-B6uR-j2tuu4Z1tuGUjq8xnxFDk-W8OdeLzWBX8suNKTCsPlkzTqC22BXf_hX33XclGPL4SS9xnPmHcMrLoUl0H_xHYevFvT17Hgw5DZpSyVmLvDvxzzJ1rsZTh55QwopmAty083a1r1ZIfL32iXh_q8FUas",
            "width": 3024,
          },
        ],
      "place_id": "ChIJN1t_tDeuEmsRUsoyG83frY4",
      "plus_code":
        {
          "compound_code": "45MW+C8 Pyrmont NSW, Australia",
          "global_code": "4RRH45MW+C8",
        },
      "rating": 4,
      "reference": "ChIJN1t_tDeuEmsRUsoyG83frY4",
      "reviews":
        [
          {
            "author_name": "Luke Archibald",
            "author_url": "https://www.google.com/maps/contrib/113389359827989670652/reviews",
            "language": "en",
            "profile_photo_url": "https://lh3.googleusercontent.com/a-/AOh14GhGGmTmvtD34HiRgwHdXVJUTzVbxpsk5_JnNKM5MA=s128-c0x00000000-cc-rp-mo",
            "rating": 1,
            "relative_time_description": "a week ago",
            "text": "Called regarding paid advertising google pages to the top of its site of a scam furniture website misleading and taking peoples money without ever sending a product - explained the situation,  explained I'd spoken to an ombudsman regarding it.  Listed ticket numbers etc.\n\nThey left the advertisement running.",
            "time": 1652286798,
          },
          {
            "author_name": "Tevita Taufoou",
            "author_url": "https://www.google.com/maps/contrib/105937236918123663309/reviews",
            "language": "en",
            "profile_photo_url": "https://lh3.googleusercontent.com/a/AATXAJwZANdRSSg96QeZG--6BazG5uv_BJMIvpZGqwSz=s128-c0x00000000-cc-rp-mo",
            "rating": 1,
            "relative_time_description": "6 months ago",
            "text": "I need help.  Google Australia is taking my money. Money I don't have any I am having trouble sorting this issue out",
            "time": 1637215605,
          },
          {
            "author_name": "Jordy Baker",
            "author_url": "https://www.google.com/maps/contrib/102582237417399865640/reviews",
            "language": "en",
            "profile_photo_url": "https://lh3.googleusercontent.com/a/AATXAJwgg1tM4aVA4nJCMjlfJtHtFZuxF475Vb6tT74S=s128-c0x00000000-cc-rp-mo",
            "rating": 1,
            "relative_time_description": "4 months ago",
            "text": "I have literally never been here in my life, I am 17 and they are taking money I don't have for no reason.\n\nThis is not ok. I have rent to pay and my own expenses to deal with and now this.",
            "time": 1641389490,
          },
          {
            "author_name": "Prem Rathod",
            "author_url": "https://www.google.com/maps/contrib/115981614018592114142/reviews",
            "language": "en",
            "profile_photo_url": "https://lh3.googleusercontent.com/a/AATXAJyEQpqs4YvPPzMPG2dnnRTFPC4jxJfn8YXnm2gz=s128-c0x00000000-cc-rp-mo",
            "rating": 1,
            "relative_time_description": "4 months ago",
            "text": "Terrible service. all reviews are fake and irrelevant. This is about reviewing google as business not the building/staff etc.",
            "time": 1640159655,
          },
          {
            "author_name": "Husuni Hamza",
            "author_url": "https://www.google.com/maps/contrib/102167316656574288776/reviews",
            "language": "en",
            "profile_photo_url": "https://lh3.googleusercontent.com/a/AATXAJwRkyvoSlgd06ahkF9XI9D39o6Zc_Oycm5EKuRg=s128-c0x00000000-cc-rp-mo",
            "rating": 5,
            "relative_time_description": "7 months ago",
            "text": "Nice site. Please I want to work with you. Am Alhassan Haruna, from Ghana. Contact me +233553851616",
            "time": 1633197305,
          },
        ],
      "types": ["point_of_interest", "establishment"],
      "url": "https://maps.google.com/?cid=10281119596374313554",
      "user_ratings_total": 939,
      "utc_offset": 600,
      "vicinity": "48 Pirrama Road, Pyrmont",
      "website": "http://google.com/",
    },
  "status": "OK",
}

XML

<PlaceDetailsResponse>
 <status>OK</status>
 <result>
  <name>Google Workplace 6</name>
  <vicinity>48 Pirrama Road, Pyrmont</vicinity>
  <type>point_of_interest</type>
  <type>establishment</type>
  <formatted_phone_number>(02) 9374 4000</formatted_phone_number>
  <formatted_address>48 Pirrama Rd, Pyrmont NSW 2009, Australia</formatted_address>
  <address_component>
   <long_name>48</long_name>
   <short_name>48</short_name>
   <type>street_number</type>
  </address_component>
  <address_component>
   <long_name>Pirrama Road</long_name>
   <short_name>Pirrama Rd</short_name>
   <type>route</type>
  </address_component>
  <address_component>
   <long_name>Pyrmont</long_name>
   <short_name>Pyrmont</short_name>
   <type>locality</type>
   <type>political</type>
  </address_component>
  <address_component>
   <long_name>City of Sydney</long_name>
   <short_name>City of Sydney</short_name>
   <type>administrative_area_level_2</type>
   <type>political</type>
  </address_component>
  <address_component>
   <long_name>New South Wales</long_name>
   <short_name>NSW</short_name>
   <type>administrative_area_level_1</type>
   <type>political</type>
  </address_component>
  <address_component>
   <long_name>Australia</long_name>
   <short_name>AU</short_name>
   <type>country</type>
   <type>political</type>
  </address_component>
  <address_component>
   <long_name>2009</long_name>
   <short_name>2009</short_name>
   <type>postal_code</type>
  </address_component>
  <geometry>
   <location>
    <lat>-33.8664890</lat>
    <lng>151.1958561</lng>
   </location>
   <viewport>
    <southwest>
     <lat>-33.8682092</lat>
     <lng>151.1944177</lng>
    </southwest>
    <northeast>
     <lat>-33.8655113</lat>
     <lng>151.1971156</lng>
    </northeast>
   </viewport>
  </geometry>
  <rating>4.0</rating>
  <url>https://maps.google.com/?cid=10281119596374313554</url>
  <icon>https://maps.gstatic.com/mapfiles/place_api/icons/v1/png_71/generic_business-71.png</icon>
  <reference>ChIJN1t_tDeuEmsRUsoyG83frY4</reference>
  <international_phone_number>+61 2 9374 4000</international_phone_number>
  <website>http://google.com/</website>
  <review>
   <time>1652286798</time>
   <text>Called regarding paid advertising google pages to the top of its site of a scam furniture website misleading and taking peoples money without ever sending a product - explained the situation,  explained I'd spoken to an ombudsman regarding it.  Listed ticket numbers etc.
They left the advertisement running.</text>
   <author_name>Luke Archibald</author_name>
   <author_url>https://www.google.com/maps/contrib/113389359827989670652/reviews</author_url>
   <rating>1.0</rating>
   <language>en</language>
   <profile_photo_url>https://lh3.googleusercontent.com/a-/AOh14GhGGmTmvtD34HiRgwHdXVJUTzVbxpsk5_JnNKM5MA=s128-c0x00000000-cc-rp-mo</profile_photo_url>
   <relative_time_description>a week ago</relative_time_description>
  </review>
  <review>
   <time>1637215605</time>
   <text>I need help.  Google Australia is taking my money. Money I don't have any I am having trouble sorting this issue out</text>
   <author_name>Tevita Taufoou</author_name>
   <author_url>https://www.google.com/maps/contrib/105937236918123663309/reviews</author_url>
   <rating>1.0</rating>
   <language>en</language>
   <profile_photo_url>https://lh3.googleusercontent.com/a/AATXAJwZANdRSSg96QeZG--6BazG5uv_BJMIvpZGqwSz=s128-c0x00000000-cc-rp-mo</profile_photo_url>
   <relative_time_description>6 months ago</relative_time_description>
  </review>
  <review>
   <time>1641389490</time>
   <text>I have literally never been here in my life, I am 17 and they are taking money I don't have for no reason.
This is not ok. I have rent to pay and my own expenses to deal with and now this.</text>
   <author_name>Jordy Baker</author_name>
   <author_url>https://www.google.com/maps/contrib/102582237417399865640/reviews</author_url>
   <rating>1.0</rating>
   <language>en</language>
   <profile_photo_url>https://lh3.googleusercontent.com/a/AATXAJwgg1tM4aVA4nJCMjlfJtHtFZuxF475Vb6tT74S=s128-c0x00000000-cc-rp-mo</profile_photo_url>
   <relative_time_description>4 months ago</relative_time_description>
  </review>
  <review>
   <time>1640159655</time>
   <text>Terrible service. all reviews are fake and irrelevant. This is about reviewing google as business not the building/staff etc.</text>
   <author_name>Prem Rathod</author_name>
   <author_url>https://www.google.com/maps/contrib/115981614018592114142/reviews</author_url>
   <rating>1.0</rating>
   <language>en</language>
   <profile_photo_url>https://lh3.googleusercontent.com/a/AATXAJyEQpqs4YvPPzMPG2dnnRTFPC4jxJfn8YXnm2gz=s128-c0x00000000-cc-rp-mo</profile_photo_url>
   <relative_time_description>4 months ago</relative_time_description>
  </review>
  <review>
   <time>1633197305</time>
   <text>Nice site. Please I want to work with you. Am Alhassan Haruna, from Ghana. Contact me +233553851616</text>
   <author_name>Husuni Hamza</author_name>
   <author_url>https://www.google.com/maps/contrib/102167316656574288776/reviews</author_url>
   <rating>5.0</rating>
   <language>en</language>
   <profile_photo_url>https://lh3.googleusercontent.com/a/AATXAJwRkyvoSlgd06ahkF9XI9D39o6Zc_Oycm5EKuRg=s128-c0x00000000-cc-rp-mo</profile_photo_url>
   <relative_time_description>7 months ago</relative_time_description>
  </review>
  <opening_hours>
   <open_now>false</open_now>
   <period>
    <open>
     <day>1</day>
     <time>0900</time>
    </open>
    <close>
     <day>1</day>
     <time>1700</time>
    </close>
   </period>
   <period>
    <open>
     <day>2</day>
     <time>0900</time>
    </open>
    <close>
     <day>2</day>
     <time>1700</time>
    </close>
   </period>
   <period>
    <open>
     <day>3</day>
     <time>0900</time>
    </open>
    <close>
     <day>3</day>
     <time>1700</time>
    </close>
   </period>
   <period>
    <open>
     <day>4</day>
     <time>0900</time>
    </open>
    <close>
     <day>4</day>
     <time>1700</time>
    </close>
   </period>
   <period>
    <open>
     <day>5</day>
     <time>0900</time>
    </open>
    <close>
     <day>5</day>
     <time>1700</time>
    </close>
   </period>
   <weekday_text>Monday: 9:00 AM  5:00 PM</weekday_text>
   <weekday_text>Tuesday: 9:00 AM  5:00 PM</weekday_text>
   <weekday_text>Wednesday: 9:00 AM  5:00 PM</weekday_text>
   <weekday_text>Thursday: 9:00 AM  5:00 PM</weekday_text>
   <weekday_text>Friday: 9:00 AM  5:00 PM</weekday_text>
   <weekday_text>Saturday: Closed</weekday_text>
   <weekday_text>Sunday: Closed</weekday_text>
  </opening_hours>
  <utc_offset>600</utc_offset>
  <photo>
   <photo_reference>Aap_uEDT4DC26Lk_VoI6CvsZl1NzU7BOPjEyqEHlf8tCA0hFtlrsI1Tmed_LmjSUQghWnZq-E7SsYZSlvGP0X5ZAfH6w0Tmw6biO4PPI8BTPwvo6FqLfZgC2RGNQyI81HRnJGB3ZJUAYEXvxBfA_upEcsITxk52joPkK9d7cfFptY0z-Oy7Y</photo_reference>
   <width>4032</width>
   <height>3024</height>
   <html_attribution>&lt;a href=&quot;https://maps.google.com/maps/contrib/117600448889234589608&quot;&gt;Cynthia Wei&lt;/a&gt;</html_attribution>
  </photo>
  <photo>
   <photo_reference>Aap_uEAPNVkxDxxHa0aRFAkA2gMygFUuaKujSSv-zdad_vuaxTkaDHgX-aVPeNATp7VEgwqa3A3QutoeKdDd6aGZPBPCLl8XTf1vYckEBxIWEXZjFlMXK2TwIVfe4qa6O31AbYQQ5TCrEs9nz2fuBBWJwifTiKIIrv4NrEpQok6i8nnn8xKS</photo_reference>
   <width>4912</width>
   <height>3264</height>
   <html_attribution>&lt;a href=&quot;https://maps.google.com/maps/contrib/102493344958625549078&quot;&gt;Heyang Li&lt;/a&gt;</html_attribution>
  </photo>
  <photo>
   <photo_reference>Aap_uEBXOmqXNblj10HJavekmUNyUwccggfNN9KVE9TjYcU9HXkBHdvnwfYHDx3dfrjJJwnN8yooP-5412iJNRk8cwUbAVYbD2326cfiJJ3oK6pOrAi1oBmCYuAwKTHnX3EQvSbheVhJZPNDHlT5TjKcwfwAb80eyLB2UNyWl3Y6D7YS7ZSf</photo_reference>
   <width>4048</width>
   <height>3036</height>
   <html_attribution>&lt;a href=&quot;https://maps.google.com/maps/contrib/104829437842034782235&quot;&gt;Anna Linetsky&lt;/a&gt;</html_attribution>
  </photo>
  <photo>
   <photo_reference>Aap_uEAWyGsK1fp3SE73xICq8FJNlrVVqRk8E6YfMiz-o8IJj1vESmuDj4NnPDP4S2kWFrfoBpqw9lmXBGxtYo6nPMySfBAcRIbdEg0ko4dcdzsBvo6cRUz9XpmlcoptCpIAKEb6f7Bh_OD0zFntYbTz-pLdQ9ZHB8tBvTb3kzfTdK2Du0yC</photo_reference>
   <width>6016</width>
   <height>4016</height>
   <html_attribution>&lt;a href=&quot;https://maps.google.com/maps/contrib/107755640736541028674&quot;&gt;Jonah Dell&lt;/a&gt;</html_attribution>
  </photo>
  <photo>
   <photo_reference>Aap_uEAxbn61tx1hwCo3kUMd2KPlWaBkrFhXHxsZDgkYxpJqc-ZYC6U0MH6urfbHVrwmMoosOG0G39anmR68B7p2Up3AACxTa21vCopSL6-RHIphVsBhfhOrFMlGNqBDEsnmY15X0FzzNMKASXqmqtzBphiRyGhAFKfRs3Js1ymXP_FWjqzT</photo_reference>
   <width>4032</width>
   <height>3024</height>
   <html_attribution>&lt;a href=&quot;https://maps.google.com/maps/contrib/115886271727815775491&quot;&gt;Anthony Huynh&lt;/a&gt;</html_attribution>
  </photo>
  <photo>
   <photo_reference>Aap_uEClwnjuvgS58OknaXxZeVGf5ydyG6U6lO9srr8FU7tPoZ4DvqQo-GUeemssC11tzDBUMWit4ILWF-GmlRfIHS8FuAtttOgp2wvgPhs-ADUrznLRXYKBRkNQnRLEIA1PBgJN9Eev8tFWxpY_jBMklkEUZJRjm-mk9R0bSKSelpPgMYAz</photo_reference>
   <width>4032</width>
   <height>3024</height>
   <html_attribution>&lt;a href=&quot;https://maps.google.com/maps/contrib/102939237947063969663&quot;&gt;Jasen Baker&lt;/a&gt;</html_attribution>
  </photo>
  <photo>
   <photo_reference>Aap_uEBvISYtwjSgTQntTJJ_-XhPUF4CVCQF3wxM0FjcQJuzomYLfZWFlIWsOgXhwt2Sd8K6OqFrSP8XHHrBaqQJHD-om-H_wfRLVmiAoQa8QG5oxt540AucTMP4H2QfhTXngqEoNuOcbb-xo2l01OPUetTdIZQ3S6U5s2iyGrHpTs3qz8CH</photo_reference>
   <width>4032</width>
   <height>3024</height>
   <html_attribution>&lt;a href=&quot;https://maps.google.com/maps/contrib/100678816592586275978&quot;&gt;Jeremy Hsiao&lt;/a&gt;</html_attribution>
  </photo>
  <photo>
   <photo_reference>Aap_uEB2cYxbKE7uIXQ_IhX3TvZHDcFHXjWSwezoiwP3eWlfIDTWwq3xtsYZY7QSrhR2d9s1eWmZlM5zr9iHlC_n0gsJXNeRcfd2JjuLFaNuC7VfpeIsdQchhOybG0drJ2CxzD187Az-Foip-6MutDA22LINPw0Iyc_yT04WbxQDxhiwu2Cn</photo_reference>
   <width>2048</width>
   <height>1515</height>
   <html_attribution>&lt;a href=&quot;https://maps.google.com/maps/contrib/112343109286948028063&quot;&gt;Andrew W&lt;/a&gt;</html_attribution>
  </photo>
  <photo>
   <photo_reference>Aap_uEBJyLgeilgow1JnoKW83IBsl8CPkmryN8nGYtBzzLaiLjFicWxC1YPQusM-_Fvfb1bkbuShrzjXmHCOp5HoBgJsgit8o0HPYWgjSwrdySqde1BgfKbwS-TWbPg_dwTnVR8LrVPxa_vpLzNlx1b-WpDZo3-_KvxH2GARhVrcvWkvMYD0</photo_reference>
   <width>4032</width>
   <height>3024</height>
   <html_attribution>&lt;a href=&quot;https://maps.google.com/maps/contrib/100678816592586275978&quot;&gt;Jeremy Hsiao&lt;/a&gt;</html_attribution>
  </photo>
  <photo>
   <photo_reference>Aap_uEADyMSxLevgbLWCJeHA8kIN3w6-JcndbuHvTB0oqR-IlWbml4bbYmR-_iYU15HBh8xi3w5hZ455pda6m-BlLCscr6g_Zc5FmBOHW56IsZF3Pxif5UmeGZSsg3WIjHCoL-JyndN0nkfyzS31E05tZi61RfXQ2UPY2_5ceKYua5U6d5Zd</photo_reference>
   <width>3024</width>
   <height>4032</height>
   <html_attribution>&lt;a href=&quot;https://maps.google.com/maps/contrib/100678816592586275978&quot;&gt;Jeremy Hsiao&lt;/a&gt;</html_attribution>
  </photo>
  <adr_address>&lt;span class=&quot;street-address&quot;&gt;48 Pirrama Rd&lt;/span&gt;, &lt;span class=&quot;locality&quot;&gt;Pyrmont&lt;/span&gt; &lt;span class=&quot;region&quot;&gt;NSW&lt;/span&gt; &lt;span class=&quot;postal-code&quot;&gt;2009&lt;/span&gt;, &lt;span class=&quot;country-name&quot;&gt;Australia&lt;/span&gt;</adr_address>
  <user_ratings_total>939</user_ratings_total>
  <place_id>ChIJN1t_tDeuEmsRUsoyG83frY4</place_id>
  <plus_code>
   <global_code>4RRH45MW+C8</global_code>
   <compound_code>45MW+C8 Pyrmont NSW, Australia</compound_code>
  </plus_code>
  <icon_background_color>#7B9EB0</icon_background_color>
  <business_status>OPERATIONAL</business_status>
  <icon_mask_base_uri>https://maps.gstatic.com/mapfiles/place_api/icons/v2/generic_pinlet</icon_mask_base_uri>
 </result>
</PlaceDetailsResponse>

JSON 和 XML 回應都包含下列元素:

PlacesDetailsResponse

FieldRequiredTypeDescription
requiredArray<string>

May contain a set of attributions about this listing which must be displayed to the user (some listings may not have attribution).

requiredPlace

Contains the detailed information about the place requested.

See Place for more information.

requiredPlacesDetailsStatus

Contains the status of the request, and may contain debugging information to help you track down why the request failed.

See PlacesDetailsStatus for more information.

optionalArray<string>

When the service returns additional information about the request specification, there may be an additional info_messages field within the response object. This field is only returned for successful requests. It may not always be returned, and its content is subject to change.

在 JSON 回應中,這些會以根元素表示。在 XML 回應中,這些元素會顯示為 <PlaceDetailsResponse> 底下的頂層元素。

PlacesDetailsStatus

Status codes returned by service.

  • OK indicating the API request was successful.
  • ZERO_RESULTS indicating that the referenced location, place_id, was valid but no longer refers to a valid result. This may occur if the establishment is no longer in business.
  • NOT_FOUND indicating that that the referenced location, place_id, was not found in the Places database.
  • INVALID_REQUEST indicating the API request was malformed.
  • OVER_QUERY_LIMIT indicating any of the following:
    • You have exceeded the QPS limits.
    • Billing has not been enabled on your account.
    • The monthly $200 credit, or a self-imposed usage cap, has been exceeded.
    • The provided method of payment is no longer valid (for example, a credit card has expired).
    See the Maps FAQ for more information about how to resolve this error.
  • REQUEST_DENIED indicating that your request was denied, generally because:
    • The request is missing an API key.
    • The key parameter is invalid.
  • UNKNOWN_ERROR indicating an unknown error.

Place

Attributes describing a place. Not all attributes will be available for all place types.

FieldRequiredTypeDescription
optional Array<AddressComponent>

An array containing the separate components applicable to this address.

See AddressComponent for more information.

optionalstring

A representation of the place's address in the adr microformat.

optionalstring

Indicates the operational status of the place, if it is a business. If no data exists, business_status is not returned.

The allowed values include: OPERATIONAL, CLOSED_TEMPORARILY, and CLOSED_PERMANENTLY
optionalboolean

Specifies if the business supports curbside pickup.

optionalPlaceOpeningHours

Contains the hours of operation for the next seven days (including today). The time period starts at midnight on the date of the request and ends at 11:59 pm six days later. This field includes the special_days subfield of all hours, set for dates that have exceptional hours.

See PlaceOpeningHours for more information.

optionalboolean

Specifies if the business supports delivery.

optionalboolean

Specifies if the business supports indoor or outdoor seating options.

optionalPlaceEditorialSummary

Contains a summary of the place. A summary is comprised of a textual overview, and also includes the language code for these if applicable. Summary text must be presented as-is and can not be modified or altered.

See PlaceEditorialSummary for more information.

optionalstring

A string containing the human-readable address of this place.

Often this address is equivalent to the postal address. Note that some countries, such as the United Kingdom, do not allow distribution of true postal addresses due to licensing restrictions.

The formatted address is logically composed of one or more address components. For example, the address "111 8th Avenue, New York, NY" consists of the following components: "111" (the street number), "8th Avenue" (the route), "New York" (the city) and "NY" (the US state).

Do not parse the formatted address programmatically. Instead you should use the individual address components, which the API response includes in addition to the formatted address field.

optionalstring

Contains the place's phone number in its local format.

optionalGeometry

Contains the location and viewport for the location.

See Geometry for more information.

optionalstring

Contains the URL of a suggested icon which may be displayed to the user when indicating this result on a map.

optionalstring

Contains the default HEX color code for the place's category.

optionalstring

Contains the URL of a recommended icon, minus the .svg or .png file type extension.

optionalstring

Contains the place's phone number in international format. International format includes the country code, and is prefixed with the plus, +, sign. For example, the international_phone_number for Google's Sydney, Australia office is +61 2 9374 4000.

optionalstring

Contains the human-readable name for the returned result. For establishment results, this is usually the canonicalized business name.

optionalPlaceOpeningHours

Contains the regular hours of operation.

See PlaceOpeningHours for more information.

optionalboolean

Use business_status to get the operational status of businesses.

optional Array<PlacePhoto>

An array of photo objects, each containing a reference to an image. A request may return up to ten photos. More information about place photos and how you can use the images in your application can be found in the Place Photos documentation.

See PlacePhoto for more information.

optionalstring

A textual identifier that uniquely identifies a place. To retrieve information about the place, pass this identifier in the place_id field of a Places API request. For more information about place IDs, see the place ID overview.

optionalPlusCode

An encoded location reference, derived from latitude and longitude coordinates, that represents an area: 1/8000th of a degree by 1/8000th of a degree (about 14m x 14m at the equator) or smaller. Plus codes can be used as a replacement for street addresses in places where they do not exist (where buildings are not numbered or streets are not named). See Open Location Code and plus codes.

See PlusCode for more information.

optionalnumber

The price level of the place, on a scale of 0 to 4. The exact amount indicated by a specific value will vary from region to region. Price levels are interpreted as follows:

  • 0 Free
  • 1 Inexpensive
  • 2 Moderate
  • 3 Expensive
  • 4 Very Expensive
optionalnumber

Contains the place's rating, from 1.0 to 5.0, based on aggregated user reviews.

optionalstring
optionalboolean

Specifies if the place supports reservations.

optional Array<PlaceReview>

A JSON array of up to five reviews. By default, the reviews are sorted in order of relevance. Use the reviews_sort request parameter to control sorting.

  • For most_relevant (default), reviews are sorted by relevance; the service will bias the results to return reviews originally written in the preferred language.
  • For newest, reviews are sorted in chronological order; the preferred language does not affect the sort order.

Google recommends indicating to users whether results are ordered by most_relevant or newest.

See PlaceReview for more information.

optionalstring
optional Array<PlaceOpeningHours>

Contains an array of entries for the next seven days including information about secondary hours of a business. Secondary hours are different from a business's main hours. For example, a restaurant can specify drive through hours or delivery hours as its secondary hours. This field populates the type subfield, which draws from a predefined list of opening hours types (such as DRIVE_THROUGH, PICKUP, or TAKEOUT) based on the types of the place. This field includes the special_days subfield of all hours, set for dates that have exceptional hours.

See PlaceOpeningHours for more information.

optionalboolean

Specifies if the place serves beer.

optionalboolean

Specifies if the place serves breakfast.

optionalboolean

Specifies if the place serves brunch.

optionalboolean

Specifies if the place serves dinner.

optionalboolean

Specifies if the place serves lunch.

optionalboolean

Specifies if the place serves vegetarian food.

optionalboolean

Specifies if the place serves wine.

optionalboolean

Specifies if the business supports takeout.

optionalArray<string>

Contains an array of feature types describing the given result. See the list of supported types.

optionalstring

Contains the URL of the official Google page for this place. This will be the Google-owned page that contains the best available information about the place. Applications must link to or embed this page on any screen that shows detailed results about the place to the user.

optionalnumber

The total number of reviews, with or without text, for this place.

optionalnumber

Contains the number of minutes this place’s current timezone is offset from UTC. For example, for places in Sydney, Australia during daylight saving time this would be 660 (+11 hours from UTC), and for places in California outside of daylight saving time this would be -480 (-8 hours from UTC).

optionalstring

For establishment (types:["establishment", ...]) results only, the vicinity field contains a simplified address for the place, including the street name, street number, and locality, but not the province/state, postal code, or country.

For all other results, the vicinity field contains the name of the narrowest political (types:["political", ...]) feature that is present in the address of the result.

This content is meant to be read as-is. Do not programmatically parse the formatted address.

optionalstring

The authoritative website for this place, such as a business' homepage.

optionalboolean

Specifies if the place has an entrance that is wheelchair-accessible.

AddressComponent

FieldRequiredTypeDescription
requiredstring

The full text description or name of the address component as returned by the Geocoder.

requiredstring

An abbreviated textual name for the address component, if available. For example, an address component for the state of Alaska may have a long_name of "Alaska" and a short_name of "AK" using the 2-letter postal abbreviation.

requiredArray<string>

An array indicating the type of the address component. See the list of supported types.

PlaceEditorialSummary

Contains a summary of the place. A summary is comprised of a textual overview, and also includes the language code for these if applicable. Summary text must be presented as-is and can not be modified or altered.

FieldRequiredTypeDescription
optionalstring

The language of the previous fields. May not always be present.

optionalstring

A medium-length textual summary of the place.

Geometry

An object describing the location.

FieldRequiredTypeDescription
requiredLatLngLiteral See LatLngLiteral for more information.
requiredBounds See Bounds for more information.

LatLngLiteral

An object describing a specific location with Latitude and Longitude in decimal degrees.

FieldRequiredTypeDescription
requirednumber

Latitude in decimal degrees

requirednumber

Longitude in decimal degrees

Bounds

A rectangle in geographical coordinates from points at the southwest and northeast corners.

FieldRequiredTypeDescription
requiredLatLngLiteral See LatLngLiteral for more information.
requiredLatLngLiteral See LatLngLiteral for more information.

PlaceOpeningHours

An object describing the opening hours of a place.

FieldRequiredTypeDescription
optionalboolean

A boolean value indicating if the place is open at the current time.

optional Array<PlaceOpeningHoursPeriod>

An array of opening periods covering seven days, starting from Sunday, in chronological order.

See PlaceOpeningHoursPeriod for more information.

optional Array<PlaceSpecialDay>

An array of up to seven entries corresponding to the next seven days.

See PlaceSpecialDay for more information.

optionalstring

A type string used to identify the type of secondary hours (for example, DRIVE_THROUGH, HAPPY_HOUR, DELIVERY, TAKEOUT, KITCHEN, BREAKFAST, LUNCH, DINNER, BRUNCH, PICKUP, SENIOR_HOURS). Set for secondary_opening_hours only.

optionalArray<string>

An array of strings describing in human-readable text the hours of the place.

PlaceOpeningHoursPeriod

FieldRequiredTypeDescription
requiredPlaceOpeningHoursPeriodDetail

Contains a pair of day and time objects describing when the place opens.

See PlaceOpeningHoursPeriodDetail for more information.

optionalPlaceOpeningHoursPeriodDetail

May contain a pair of day and time objects describing when the place closes. If a place is always open, the close section will be missing from the response. Clients can rely on always-open being represented as an open period containing day with value 0 and time with value 0000, and no close.

See PlaceOpeningHoursPeriodDetail for more information.

PlaceSpecialDay

FieldRequiredTypeDescription
optionalstring

A date expressed in RFC3339 format in the local timezone for the place, for example 2010-12-31.

optionalboolean

True if there are exceptional hours for this day. If true, this means that there is at least one exception for this day. Exceptions cause different values to occur in the subfields of current_opening_hours and secondary_opening_hours such as periods, weekday_text, open_now. The exceptions apply to the hours, and the hours are used to generate the other fields.

PlaceOpeningHoursPeriodDetail

FieldRequiredTypeDescription
requirednumber

A number from 0–6, corresponding to the days of the week, starting on Sunday. For example, 2 means Tuesday.

requiredstring

May contain a time of day in 24-hour hhmm format. Values are in the range 0000–2359. The time will be reported in the place’s time zone.

optionalstring

A date expressed in RFC3339 format in the local timezone for the place, for example 2010-12-31.

optionalboolean

True if a given period was truncated due to a seven-day cutoff, where the period starts before midnight on the date of the request and/or ends at or after midnight on the last day. This property indicates that the period for open or close can extend past this seven-day cutoff.

PlacePhoto

A photo of a Place. The photo can be accesed via the Place Photo API using an url in the following pattern:

https://maps.googleapis.com/maps/api/place/photo?maxwidth=400&photo_reference=photo_reference&key=YOUR_API_KEY

See Place Photos for more information.

FieldRequiredTypeDescription
requirednumber

The height of the photo.

requiredArray<string>

The HTML attributions for the photo.

requiredstring

A string used to identify the photo when you perform a Photo request.

requirednumber

The width of the photo.

PlusCode

An encoded location reference, derived from latitude and longitude coordinates, that represents an area, 1/8000th of a degree by 1/8000th of a degree (about 14m x 14m at the equator) or smaller. Plus codes can be used as a replacement for street addresses in places where they do not exist (where buildings are not numbered or streets are not named).

FieldRequiredTypeDescription
requiredstring

The global_code is a 4 character area code and 6 character or longer local code (849VCWC8+R9).

optionalstring

The compound_code is a 6 character or longer local code with an explicit location (CWC8+R9, Mountain View, CA, USA). Some APIs may return an empty string if the compound_code is not available.

PlaceReview

A review of the place submitted by a user.

FieldRequiredTypeDescription
requiredstring

The name of the user who submitted the review. Anonymous reviews are attributed to "A Google user".

requirednumber

The user's overall rating for this place. This is a whole number, ranging from 1 to 5.

requiredstring

The time that the review was submitted in text, relative to the current time.

requirednumber

The time that the review was submitted, measured in the number of seconds since since midnight, January 1, 1970 UTC.

optionalstring

The URL to the user's Google Maps Local Guides profile, if available.

optionalstring

An IETF language code indicating the language of the returned review.This field contains the main language tag only, and not the secondary tag indicating country or region. For example, all the English reviews are tagged as 'en', and not 'en-AU' or 'en-UK' and so on.This field is empty if there is only a rating with no review text.

optionalstring

An IETF language code indicating the original language of the review. If the review has been translated, then original_language != language.This field contains the main language tag only, and not the secondary tag indicating country or region. For example, all the English reviews are tagged as 'en', and not 'en-AU' or 'en-UK' and so on.This field is empty if there is only a rating with no review text.

optionalstring

The URL to the user's profile photo, if available.

optionalstring

The user's review. When reviewing a location with Google Places, text reviews are considered optional. Therefore, this field may be empty. Note that this field may include simple HTML markup. For example, the entity reference &amp; may represent an ampersand character.

optionalboolean

A boolean value indicating if the review was translated from the original language it was written in.If a review has been translated, corresponding to a value of true, Google recommends that you indicate this to your users. For example, you can add the following string, “Translated by Google”, to the review.