0

我在我的一端實施谷歌地方服務。當我檢索到json對象時,我意識到json對象(opening_hours)中缺少數組。以下是檢索對象的示例。有誰知道爲什麼某些領域缺失?谷歌地方API缺少開放時間

Hi, i referred to your answers and find a place which has opening hours in google maps but still does not exist in the json object. Below is the example. 

[{ 
    "html_attributions": \[ 
    "Listings by <a href=\"http://www.openrice.com/\">OpenRice</a>" 
    \], 
    "results": \[ 
    { 
     "formatted_address": "30 Raffles Ave, Singapore 039803", 
     "geometry": { 
     "location": { 
      "lat": 1.2892988, 
      "lng": 103.8631368 
     } 
     }, 
     "icon": "https://maps.gstatic.com/mapfiles/place_api/icons/generic_business-71.png", 
     "id": "021245e36680793a72b3c428607f0a01ed5d1786", 
     "name": "Singapore Flyer", 
     "opening_hours": { 
     "open_now": true, 
     "weekday_text": \[\] 
     }, 
     "photos": \[ 
     { 
      "height": 2048, 
      "html_attributions": \[ 
      "<a href=\"https://maps.google.com/maps/contrib/115338279981022433314/photos\">David Montasco</a>" 
      \], 
      "photo_reference": "CmRdAAAAWbq-OmrKkZ0Rz9JyDVrnnMjD760XaCdEPBOYLITUhfUCcr6N4YmsMUxyou5yWnMQs4_iQhQc04cR4WOrDuqR5a43ZaH5O5zv4O783lXZP4qDosm-bnUUmyCOV7pNH76LEhBgl4L5ScAvva4b4TkM7-UGGhTmUVujviiDHGICoITSZr5JKJFgQA", 
      "width": 1367 
     } 
     \], 
     "place_id": "ChIJzVHFNqkZ2jERboLN2YrltH8", 
     "rating": 4.3, 
     "reference": "CnRiAAAACBop0imOgmYxPrAp_4b6CIgkGMeaaWb6oL-RsoOK6CxElf7-yNPBz_q5qXVpTfVpsmtWDua6r7gEZdsi9420icrp-mnpG6HLiGmmHupluWkUmuRCdwQ8BRlPW_HYAP9qEblbZMoAbvBDGMZgk_QyoRIQtPeJRN6-_Nm66jH-OMsCBBoUkZDaSDMQqEyPpCOyysU6ulgZtA8", 
     "types": \[ 
     "establishment" 
     \] 
    } 
    \], 
    "status": "OK" 
}][1] 
+1

[文檔](https://developers.google.com/places/web-service/details)表示結果**可能包含以下字段(其中包括opening_hours。你爲什麼期望它在那裏? – geocodezip

+0

您可以添加獲取此數據的請求嗎?我相信只有Google註冊的企業纔會擁有opening_hours數據。即如果我搜索我的房子,它不會有opening_hours,但如果我搜索我附近的銀行,它會。您是否在尋找Google註冊的商家? –

+0

我會驗證你從谷歌抓取並確保它不嵌套在對象內。希望這可以幫助。 – dmoore1987

回答

1

按照Google Places documentation:不指定在谷歌的地方數據庫的開放時間

地方將不予退還。

這意味着一個地方必須在返回此參數之前向Google註冊他們的開放時間。我看到你正在尋找巴黎的協和廣場。當我爲他們進行正常的Google搜索時,他們的小時數不會顯示在邊欄Google地址窗口小部件中。這意味着他們沒有在Google上註冊開放時間,因此該數據將被排除在任何Google地方信息請求之外。如果您要求向Google註冊該信息的地點,那麼您應該獲得該數據。

+0

您參考的文檔部分是說「**如果**您在搜索中使用_open now_過濾器,**然後**沒有開放時間的地方將被排除在外。」但是這個問題是關於**返回**的結果,只是它沒有'opening_hours'字段(所以定義產生這個結果的請求幾乎沒有使用該過濾器!)。你的答案的其餘部分對我來說似乎是正確的,但你指的是文檔中不相關的部分。 – spiv

+1

我從文檔中選擇了這一行,因爲它顯示您的開放時間*必須在Google數據庫*中指定,這意味着'opening_hours'參數將是可選的。但是你是對的 - 我從那條線上取下的特定區域並不直接指向'opening_hours'字段。如果您在指定數據庫位的文檔中找到了更好的位置,那麼請使用該引用編輯我的答案。不過,我認爲我們都同意,無論報價來源的位置如何,這都回答了這個問題。 –

0

谷歌沒有這個地方的開放時間,所以預計Google Places API中沒有opening_hours字段。如果你看一下谷歌地圖這個地方,你不會看到開放時間有兩種表示:https://maps.google.com/?cid=1730241942096554796

comment from geocodezip是正確的:

The documentation說,結果可能包含以下字段(其中包括OPENING_HOURS

類似地,像ratingprice_level許多其它領域可以是(並且通常是)中不存在。