0

Я использую службу Google Place на своем конце. Когда я извлек объект json, я понял, что в объекте json отсутствуют (отсутствуют) массивы (открытие_часов). Ниже приведен пример извлеченного объекта. Кто-нибудь знает, почему некоторые поля отсутствуют?Google Place 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) говорит, что результат ** может содержать ** следующие поля (включая открытие_часов. Почему вы ожидаете, что он будет там? – geocodezip

+0

Можете ли вы добавить запрос, который получает эти данные? Я полагаю, что только зарегистрированные компании с Google будут иметь данные open_hours. То есть если я буду искать свой дом, у него не будет открытий, но если я буду искать свой соседний банк, это произойдет. Вы ищете зарегистрированный Google бизнес? –

+0

Я бы уточнил, что вы схватываете из google и убедитесь, что он не вложен внутри объекта. Надеюсь это поможет. – dmoore1987

ответ

1

Согласно Google Places documentation:

Места, которые не определяют часы работы в базе данных Google Адресов не будут возвращены.

Это означает, что место должно регистрировать часы работы с Google до того, как этот параметр будет возвращен. Я вижу, что вы ищете Place de la Concorde в Париже. Когда я делаю обычный поиск Google для них, их часы не отображаются в виджетах боковой панели Google Адреса. Это означает, что они не зарегистрировали свои часы работы с Google и поэтому данные будут исключены из любого запроса в Google Места на карте. Вы должны вернуть эти данные, если вы запросите место, которое зарегистрировало эту информацию в Google.

+0

В части документации, на которую вы ссылаетесь, говорится: «** если ** вы используете фильтр _open now_ в своем поиске, ** тогда ** места без часов работы будут исключены». Но этот вопрос связан с результатом, возвращаемым ** **, только потому, что у него нет поля 'opening_hours' (так что по определению запрос, создавший этот результат, не использовал этот фильтр!). Остальная часть вашего ответа кажется мне правдой, но вы имеете в виду не относящуюся к делу часть документации. – spiv

+1

Я выбрал эту строку из документации, потому что она показывает, что ваши часы работы * должны быть указаны в базе данных Google *, а это означает, что параметр 'opening_hours' будет необязательным. Но вы правы - конкретная область, в которой я брал эту строку, напрямую не относится к полю 'opening_hours'. Если вы найдете лучшее место в документации, которая указывает бит о базе данных * и * это точное поле, тогда, пожалуйста, отредактируйте мой ответ с этой цитатой. Тем не менее, я думаю, мы оба согласны с тем, что независимо от места источника цитаты, это отвечает на вопрос. –

0

У Google нет рабочих часов для этого места, поэтому ожидается, что в нем не будет поля opening_hours в API Google Адресов. Если вы посмотрите на это место на Google Maps вы не увидите часы показано, как: https://maps.google.com/?cid=1730241942096554796

comment from geocodezip прав:

The documentation говорит результат может содержать следующие поля (которые включают в себя opening_hours

Аналогично, многие другие поля, такие как rating или price_level могут быть (и часто) отсутствуют.

Смежные вопросы