Place Field Migration (open_now, utc_offset)

فیلدهای «مکان‌ها» opening_hours.open_now و utc_offset از تاریخ ۲۰ نوامبر ۲۰۱۹ منسوخ شده‌اند و در تاریخ ۲۰ فوریه ۲۰۲۱ خاموش خواهند شد. این فیلدها فقط در کتابخانه جاها، Maps JavaScript API منسوخ شده‌اند. این راهنما نحوه به‌روزرسانی کدتان را برای توقف استفاده از این فیلدها نشان می‌دهد.

opening_hours.open_now فیلد

این بخش نحوه به‌روزرسانی این عملکرد را برای هر نوع درخواست Places نشان می‌دهد.

درخواست‌های «جزئیات جا»

فیلد opening_hours.open_now با روش opening_hours.isOpen() جایگزین شده است.

برای درخواست‌های جزئیات مکان، به‌جای درخواست 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.
    }
});

درخواست‌های «پیدا کردن جا»

برای درخواست‌های «پیدا کردن مکان»، جایگزینی برای فیلد opening_hours.open_now وجود ندارد. توصیه می‌کنیم درخواست «جزئیات مکان» ارسال کنید تا اطلاعات opening_hours را دریافت کنید.

درخواست‌های «جستجوی اطراف» و «جستجوی نوشتاری»

برای درخواست‌های «جستجوی اطراف» و «جستجوی نوشتاری»، می‌توانید از پارامتر درخواست openNow استفاده کنید که نتیجه آن فیلتر کردن نتایج است تا فقط مکان‌هایی را که درحال‌حاضر باز هستند دربر بگیرد.

  • ‫openNow:false همه مکان‌ها را برمی‌گرداند.
  • ‫openNow:true فقط مکان‌هایی را برمی‌گرداند که درحال‌حاضر باز هستند.

برای فهرست کردن همه مکان‌ها و نشان دادن وضعیت openNow، ابتدا بااستفاده از openNow:false درخواستی برای دریافت همه مکان‌ها ارسال کنید، سپس بااستفاده از openNow:true درخواستی برای دریافت مکان‌های باز ارسال کنید. سپس، پاسخ‌ها را ادغام کنید.

utc_offset فیلد

در درخواست‌های «جزئیات مکان»، فیلد utc_offset با فیلد utc_offset_minutes جایگزین می‌شود. کافی است در پارامتر درخواست fields، موارد utc_offset را با utc_offset_minutes جایگزین کنید و هنگام خواندن این اطلاعات از PlaceResult.