地点详情(旧版)

欧洲经济区 (EEA) 开发者

从地点搜索中获得 place_id 后,您可以通过发起地点详情(旧版)请求来请求有关特定商家或兴趣点的更多详情。“地点详情(旧版)”请求会返回有关指定地点的更全面信息,例如完整地址、电话号码、用户评分和评价。

“地点详情”(旧版)请求

地点详情(旧版)请求是以下形式的 HTTP 网址:

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

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

  • json(推荐)表示以 JavaScript 对象表示法 (JSON) 格式输出
  • xml 表示以 XML 格式输出

您需要使用某些参数,才能发起搜索请求。依照网址的标准,所有参数都使用“与”符号 (&) 分隔。下表列出了参数及其可能的值。

必需参数

可选参数

  • 字段

    注意:“地点搜索”请求和“地点详情”请求不会返回相同的字段。“地点搜索”请求会返回“地点详情”请求返回的部分字段。如果“地点搜索”未返回您所需的字段,您可以使用“地点搜索”获取 place_id,然后使用该地点 ID 发出“地点详情”请求。如需详细了解地点搜索请求中不可用的字段,请参阅地点 API 字段支持

    使用 fields 参数指定一个逗号分隔列表,其中包含要返回的地点数据类型。例如 fields=formatted_address,name,geometry。指定复合值时,请使用正斜线。例如:opening_hours/open_now

    这些字段分为以下三个结算类别: 基本联系方式氛围除了触发基本数据、联系人数据和氛围数据 SKU 的请求(地点详情、查找地点、附近搜索或文本搜索)的基本 SKU 费用之外,您还需要支付相应的数据 SKU 费用。如需了解详情,请参阅定价表

    基本版

    “基本”类别包括以下字段: address_componentsadr_addressbusiness_statusformatted_addressgeometryiconicon_mask_base_uriicon_background_colornamepermanently_closed已弃用)、photoplace_idplus_codetypeurlutc_offsetvicinitywheelchair_accessible_entrance

    联系

    “联系人”类别包括以下字段: current_opening_hoursformatted_phone_numberinternational_phone_numberopening_hourssecondary_opening_hourswebsite

    氛围

    “氛围”类别包括以下字段: 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

    一个随机字符串,用于标识自动填充会话以进行结算。

    会话在用户开始输入查询内容时开始,并在用户选择地点且系统执行“地点详情”调用时结束。在每个会话中,用户可以输入多项查询内容,并最终选择一个地点。会话中每个请求所用的 API 密钥必须属于同一 Google Cloud 控制台项目。会话结束后,令牌将失效;您的应用必须为每个会话生成一个新的令牌。如果您省略 sessiontoken 参数或重复使用会话令牌,系统会按未提供会话令牌的情况为会话计费(每个请求均单独结算)。

    我们建议您遵循以下准则:

    • 针对所有自动补全会话使用会话令牌。
    • 为每个会话生成一个新的令牌。建议使用版本 4 UUID。
    • 确保会话中用于所有“地点自动补全”请求和“地点详情”请求的 API 密钥属于同一 Cloud 控制台项目。
    • 请务必为每个新会话传递唯一的会话令牌。针对多个会话使用同一令牌会导致每个请求被单独计费。

地点详情(旧版)示例

以下示例通过 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 密钥,才能在应用中正常发出请求。

地点详情(旧版)响应

地点详情(旧版)响应会以请求的网址路径中 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.