地點欄位 opening_hours.open_now
和 utc_offset
已於 2019 年 11 月 20 日淘汰,並於 2021 年 2 月 20 日停用。請注意,只有 Maps JavaScript API 的 Places Library 淘汰了這些欄位。本指南說明如何更新程式碼,以停止使用這些欄位。
opening_hours.open_now
欄位
本節說明如何更新這項功能,因應各個類型的地點要求。
Place Details 要求
opening_hours.open_now
欄位會替換為 opening_hours.isOpen()
方法。
針對 Place Details 要求,請在 fields
要求參數中加入 opening_hours
和 utc_offset_minutes
,而非在 fields
要求參數中要求 opening_hours.open_now
,然後針對傳回的 google.maps.places.PlaceResult
物件呼叫 opening_hours.isOpen()
方法,以檢查地點是否營業。以下範例顯示用於判斷地點是否營業的 Place Details 要求:
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.
}
});
Find Place 要求
對於 Find Place 要求,opening_hours.open_now
欄位沒有取代項目。建議您發出 Place Details 要求以取得 opening_hours
資訊。
Nearby Search 與 Text Search 要求
對於 Nearby Search 與 Text Search 要求,您可以使用 openNow
要求參數,該參數的作用是篩選結果,使結果只包含目前營業的地點。
openNow:false
會傳回所有地點。openNow:true
僅會傳回目前營業的地點。
如要列出所有地點並標示 openNow
狀態,請先使用 openNow:false
發出要求以取得所有地點,然後使用 openNow:true
發出要求,僅取得營業中的地點,然後合併回應。
utc_offset
欄位
在 Place Details 要求中,utc_offset
欄位會由 utc_offset_minutes
欄位取代。只要在 fields
要求參數中以及從 PlaceResult
讀取這項資訊時,將原本顯示的 utc_offset
替換為 utc_offset_minutes
即可。