Places フィールドの移行(open_now、utc_offset)

Places フィールドの opening_hours.open_nowutc_offset は、2019 年 11 月 20 日をもって非推奨となり、2021 年 2 月 20 日に提供が終了します。これらのフィールドは、Maps JavaScript API のプレイス ライブラリでのみサポートされています。このガイドでは、コードを更新し、これらのフィールドを使用しないようにする方法を説明します。

opening_hours.open_now フィールド

このセクションでは、プレイス リクエストの種類ごとにこの機能を更新する方法について説明します。

Place Details リクエスト

opening_hours.open_now フィールドは opening_hours.isOpen() メソッドに置き換えられます。

Place Details リクエストの場合は、fields リクエスト パラメータで opening_hours.open_now をリクエストするのではなく、fieldsopening_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 情報を取得することをおすすめします。

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_offsetutc_offset_minutes に置き換えてください。