Поддержка полей Places opening_hours.open_now и utc_offset была прекращена 20.11.2019, и с 20.02.2021 они полностью отключены. (информация касается ТОЛЬКО библиотеки Places в Maps JavaScript API). В этом руководстве рассказывается, как обновить код, чтобы в нем больше не использовались эти поля.
Поле opening_hours.open_now
Далее мы рассказываем, как обновить код, чтобы поддерживались запросы Places о часах работы.
Запросы данных об объекте Places
Поле opening_hours.open_now было заменено методом opening_hours.isOpen().
Делая запросы Places, больше не нужно указывать opening_hours.open_now в параметре fields. Вместо этого включите opening_hours и utc_offset_minutes в параметры запроса fields, а затем вызовите метод opening_hours.isOpen() в возвращенном объекте google.maps.places.PlaceResult, чтобы узнать, открыто ли место сейчас. Пример такого запроса приведен ниже.
new google.maps.places.PlacesService(attrContainer).getDetails({
placeId: '...',
fields: ['opening_hours','utc_offset_minutes'],
}, function (place, status) {
if (status !== 'OK') return; // something went wrong
const isOpenAtTime = place.opening_hours.isOpen(new Date('December 17, 2020 03:24:00'));
if (isOpenAtTime) {
// We know it's open.
}
const isOpenNow = place.opening_hours.isOpen();
if (isOpenNow) {
// We know it's open.
}
});
Запросы FindPlace для поиска места
В запросах FindPlace замены для поля opening_hours.open_now не предусмотрено. Для получения значений opening_hours рекомендуем использовать запросы Places.
Поиск поблизости и текстовые поисковые запросы
Используйте параметр запроса openNow, который отфильтровывает результаты и возвращает только места, которые открыты в текущий момент.
openNow:false– возвращает все места.openNow:true– возвращает только места, которые открыты в текущий момент.
Чтобы получить список всех мест СО СТАТУСОМ openNow, запросите сначала все места, применив к запросу параметр openNow:false, а потом – только открытые, применив к запросу параметр openNow:true. Затем объедините полученные результаты.
Поле utc_offset
В запросах Places теперь вместо поля utc_offset используется utc_offset_minutes. Достаточно заменить все вхождения utc_offset кодом utc_offset_minutes в запросах fields и при считывании этой информации из PlaceResult.