Как приложение Google Maps получает информацию о том, что место "скоро закрывается"? - PullRequest
0 голосов
/ 05 июля 2018

В Картах Google, когда я перемещаюсь в какое-либо место, например, в магазин или ресторан, если оно закрывается в течение следующих 60 минут, оно отображается красным Скоро закрывается и выдает всплывающее окно "~ закрывается в ~ pm, вы не можете прибыть вовремя ".

Используя какой API или сервис приложение Google Maps получает эту информацию? Откуда он знает, что место скоро закроется?

Я использую Веб-сервис API Google Адресов (https://developers.google.com/places/web-service/intro),, и мой сервер PHP может получить Сведения о месте (https://developers.google.com/places/web-service/details),, но есть нет отметки о том, будет ли она закрыта в ближайшее время, и нет информации о часах работы, из которых я мог бы ее рассчитать.

Это пример Сведения о месте Ответ:

   "results" : [
  {
     "geometry" : {
        "location" : {
           "lat" : 37.415994,
           "lng" : -122.0771611
        },
        "viewport" : {
           "northeast" : {
              "lat" : 37.41711577989273,
              "lng" : -122.0758283701073
           },
           "southwest" : {
              "lat" : 37.41441612010728,
              "lng" : -122.0785280298927
           }
        }
     },
     "icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png",
     "id" : "67563858da6146557fe7bc66b596d735b2946adb",
     "name" : "7-Eleven",
     "opening_hours" : {
        "open_now" : true
     },
     "photos" : [
        {
           "height" : 588,
           "html_attributions" : [
              "\u003ca href=\"https://maps.google.com/maps/contrib/103288427379633317891/photos\"\u003e7-Eleven\u003c/a\u003e"
           ],
           "photo_reference" : "CmRZAAAARCuoZMJvsKOXHwJmj4Eyu6UEqfRec6c3lnUxaL6dEVnMlWl02TKKkPEBb06ZpxAAow5tZZH3OYGshnjChBjhyyaB3WXxI_5DP0eRoJBag1IRVGs028hci-iFNAJceIHkEhC6fmFFKrURt2SVVMZPKnk-GhSceJbHEG_vIWrsq6UZbUjBuK7bgg",
           "width" : 864
        }
     ],
     "place_id" : "ChIJ0Ttxbla3j4ARCpH-PwldBRo",
     "plus_code" : {
        "compound_code" : "CW8F+94 Mountain View, California",
        "global_code" : "849VCW8F+94"
     },
     "price_level" : 1,
     "rating" : 3.4,
     "reference" : "CmRbAAAA50y6X4iUisNQl4Nu-457gKMfcxfIF1PNcon9xlqfir29nvEiHkcQOzoW-yghDbq3n_Ktz7HDcO4zrxgZAUwbLK3Ur9d-6vmyA8pAGHRFyoDV4eqtuT-x5hwYJMHmMSDaEhAf0WA4izKuormbIfu-pqCeGhRsmtZeRrwiJ5P32pyOdlp_ylc5xQ",
     "scope" : "GOOGLE",
     "types" : [
        "convenience_store",
        "store",
        "food",
        "point_of_interest",
        "establishment"
     ],
     "vicinity" : "1380 Pear Ave, Mountain View"
  }

Является ли эта информация конфиденциальной и доступной только для приложений Google? Или мой сервис может получить доступ к нему для моего приложения? Мне нужно знать, скоро ли место закрывается.

РЕДАКТИРОВАТЬ: есть открытие_часов, но обычно возвращается так:

"opening_hours" : {
    "open_now" : true
},

Я проверил это для ресторана, который скоро закроется. Приложение Google Maps отображает его как Soing Soon за 1 час до закрытия, в то время как Opening_hours остается верным без дополнительной информации до последней минуты его открытия.

1 Ответ

0 голосов
/ 05 июля 2018

Что opening_hours может содержать, описано здесь: https://developers.google.com/places/web-service/details?hl=en#PlaceDetailsResults

Таким образом, либо информация никогда не добавлялась для места, которое вы указали в своем вопросе, либо существует проблема с данными. В любом случае, мы ничего не можем с этим поделать. Если вы считаете, что существует проблема с данными, обратитесь в Google. Здесь никто ничего не может поделать.

Вот пример места, которое возвращает все данные: https://jsfiddle.net/upsidown/yfawx50v/

Тем не менее, с идентификатором места ChIJ0Ttxbla3j4ARCpH-PwldBRo, который вы дали в своем примере, я не получаю такие же результаты:

  "opening_hours" : {
     "open_now" : true,
     "periods" : [
        {
           "open" : {
              "day" : 0,
              "time" : "0000"
           }
        }
     ],
     "weekday_text" : [
        "Monday: Open 24 hours",
        "Tuesday: Open 24 hours",
        "Wednesday: Open 24 hours",
        "Thursday: Open 24 hours",
        "Friday: Open 24 hours",
        "Saturday: Open 24 hours",
        "Sunday: Open 24 hours"
     ]
  },

Я получаю все детали, как и ожидалось, и четкую информацию о том, что он открыт 24/7, что, я думаю, имеет смысл для 7-Eleven .

...