“地点”字段 opening_hours.open_now
和 utc_offset
自 2019 年 11 月 20 日起弃用,自 2021 年 2 月 20 日起停用。这两个字段仅在 Maps JavaScript API 地点库中弃用。本指南介绍了如何更新代码以停止使用这两个字段。
opening_hours.open_now
字段
本部分介绍了如何针对各个类型的“地点”请求,更新此功能。
“地点详情”请求
opening_hours.open_now
字段已替换为 opening_hours.isOpen()
方法。
对于“地点详情”请求,请在 fields
请求参数中包含 opening_hours
和 utc_offset_minutes
(而不是在 fields
请求参数中请求 opening_hours.open_now
),然后对返回的 google.maps.places.PlaceResult
对象调用 opening_hours.isOpen()
方法,以检查相应地点是否营业。下例展示了用于确定地点是否营业的“地点详情”请求:
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
请求参数中以及从 PlaceResult
读取此类信息时,将原本的 utc_offset
替换为 utc_offset_minutes
即可。