地點欄位遷移 (open_now、utc_offset)

地點欄位 opening_hours.open_nowutc_offset 已於 2019 年 11 月 20 日淘汰,並將於 2021 年 2 月 20 日停用。只有在 Places JavaScript API 的 Places Library 中已淘汰這些欄位。本指南說明如何更新程式碼,停止使用這些欄位。

opening_hours.open_now 欄位

本節說明如何為各個地點介面集要求更新這項功能。

Place Details 要求

opening_hours.open_now 欄位會替換為 opening_hours.isOpen() 方法。

針對 Place Details 要求,不要在 fields 要求參數中要求 opening_hours.open_now,請在 fields 要求參數中加入 opening_hoursutc_offset_minutes,然後針對傳回的 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 資訊。

鄰近搜尋與文字搜尋要求

如要取得「附近地點搜尋」和「文字搜尋」要求,可以使用 openNow 要求參數,其作用是篩選結果,使其只包含目前開啟的地點。

  • openNow:false 會傳回所有地點。
  • openNow:true 只會傳回目前營業中的地點。

如要列出所有地點「和」標示 openNow 狀態,請先使用 openNow:false 提出要求以取得所有地點,然後使用 openNow:true 發出要求,才取得營業中的地點。然後合併回覆。

utc_offset 欄位

在 Place Details 要求中,utc_offset 欄位會由 utc_offset_minutes 欄位取代。只需在 fields 要求參數中,將 utc_offset 替換為 utc_offset_minutes 以及從 PlaceResult 讀取這項資訊時。