مهاجرت فیلد مکان (open_now، utc_offset)

فیلدهای places با نام‌های opening_hours.open_now و utc_offset از تاریخ 20 نوامبر 2019 منسوخ شده‌اند و در 20 فوریه 2021 غیرفعال خواهند شد. این فیلدها فقط در کتابخانه Places و API جاوا اسکریپت Maps منسوخ شده‌اند. این راهنما به شما نشان می‌دهد که چگونه کد خود را به‌روزرسانی کنید تا دیگر از این فیلدها استفاده نکنید.

فیلد 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 ، درخواست Place Details ایجاد کنید.

درخواست‌های جستجوی نزدیک و جستجوی متنی

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

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

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

فیلد utc_offset

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