Google 地图应用程序如何获取地点是 "Closing Soon" 的信息?
How does the Google Maps app get the information that a place is "Closing Soon"?
在 Google 地图中,当我导航到商店或餐馆等地点时,如果它会在接下来的 60 分钟内关门,它会以红色显示 即将关门 , 并弹出 "~ ~pm 关闭,您可能无法及时到达".
Google 地图应用程序使用什么 API 或服务获取此信息?它怎么知道一个地方即将关门?
我正在使用 Google Places API Web Service (https://developers.google.com/places/web-service/intro), and my PHP server can get the Place Details (https://developers.google.com/places/web-service/details),但是没有标记是否使用它即将关闭,没有关于我可以计算的开放时间的信息。
这是一个示例地点详情响应:
"results" : [
{
"geometry" : {
"location" : {
"lat" : 37.415994,
"lng" : -122.0771611
},
"viewport" : {
"northeast" : {
"lat" : 37.41711577989273,
"lng" : -122.0758283701073
},
"southwest" : {
"lat" : 37.41441612010728,
"lng" : -122.0785280298927
}
}
},
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png",
"id" : "67563858da6146557fe7bc66b596d735b2946adb",
"name" : "7-Eleven",
"opening_hours" : {
"open_now" : true
},
"photos" : [
{
"height" : 588,
"html_attributions" : [
"\u003ca href=\"https://maps.google.com/maps/contrib/103288427379633317891/photos\"\u003e7-Eleven\u003c/a\u003e"
],
"photo_reference" : "CmRZAAAARCuoZMJvsKOXHwJmj4Eyu6UEqfRec6c3lnUxaL6dEVnMlWl02TKKkPEBb06ZpxAAow5tZZH3OYGshnjChBjhyyaB3WXxI_5DP0eRoJBag1IRVGs028hci-iFNAJceIHkEhC6fmFFKrURt2SVVMZPKnk-GhSceJbHEG_vIWrsq6UZbUjBuK7bgg",
"width" : 864
}
],
"place_id" : "ChIJ0Ttxbla3j4ARCpH-PwldBRo",
"plus_code" : {
"compound_code" : "CW8F+94 Mountain View, California",
"global_code" : "849VCW8F+94"
},
"price_level" : 1,
"rating" : 3.4,
"reference" : "CmRbAAAA50y6X4iUisNQl4Nu-457gKMfcxfIF1PNcon9xlqfir29nvEiHkcQOzoW-yghDbq3n_Ktz7HDcO4zrxgZAUwbLK3Ur9d-6vmyA8pAGHRFyoDV4eqtuT-x5hwYJMHmMSDaEhAf0WA4izKuormbIfu-pqCeGhRsmtZeRrwiJ5P32pyOdlp_ylc5xQ",
"scope" : "GOOGLE",
"types" : [
"convenience_store",
"store",
"food",
"point_of_interest",
"establishment"
],
"vicinity" : "1380 Pear Ave, Mountain View"
}
此信息是私有的并且仅供 Google 应用使用吗?或者我的服务可以为我的应用程序访问它吗?我需要知道一个地方是否即将关闭。
编辑:有opening_hours,但通常会这样返回:
"opening_hours" : {
"open_now" : true
},
我已经为一家即将关门的餐厅测试了它。 Google 地图应用程序在关闭前 1 小时将其显示为 即将关闭,而 opening_hours 仍然如此直到最后一刻才开放其他信息。
opening_hours
可以包含的内容在此处描述:https://developers.google.com/places/web-service/details?hl=en#PlaceDetailsResults
所以要么从未为您在问题中提及的地点添加信息,要么数据存在问题。无论如何,我们也无能为力。如果您认为数据存在问题,请联系 Google。在这里没有人可以做任何事情。
这里是一个地方的例子,returns所有数据:https://jsfiddle.net/upsidown/yfawx50v/
也就是说,根据您在示例中提供的地点 ID ChIJ0Ttxbla3j4ARCpH-PwldBRo
,我没有得到相同的结果:
"opening_hours" : {
"open_now" : true,
"periods" : [
{
"open" : {
"day" : 0,
"time" : "0000"
}
}
],
"weekday_text" : [
"Monday: Open 24 hours",
"Tuesday: Open 24 hours",
"Wednesday: Open 24 hours",
"Thursday: Open 24 hours",
"Friday: Open 24 hours",
"Saturday: Open 24 hours",
"Sunday: Open 24 hours"
]
},
我得到了所有的细节,正如预期的那样,并清楚地知道它是 24/7 开放的,我认为这对于 7-11.[=15 是有意义的=]
在 Google 地图中,当我导航到商店或餐馆等地点时,如果它会在接下来的 60 分钟内关门,它会以红色显示 即将关门 , 并弹出 "~ ~pm 关闭,您可能无法及时到达".
Google 地图应用程序使用什么 API 或服务获取此信息?它怎么知道一个地方即将关门?
我正在使用 Google Places API Web Service (https://developers.google.com/places/web-service/intro), and my PHP server can get the Place Details (https://developers.google.com/places/web-service/details),但是没有标记是否使用它即将关闭,没有关于我可以计算的开放时间的信息。
这是一个示例地点详情响应:
"results" : [
{
"geometry" : {
"location" : {
"lat" : 37.415994,
"lng" : -122.0771611
},
"viewport" : {
"northeast" : {
"lat" : 37.41711577989273,
"lng" : -122.0758283701073
},
"southwest" : {
"lat" : 37.41441612010728,
"lng" : -122.0785280298927
}
}
},
"icon" : "https://maps.gstatic.com/mapfiles/place_api/icons/shopping-71.png",
"id" : "67563858da6146557fe7bc66b596d735b2946adb",
"name" : "7-Eleven",
"opening_hours" : {
"open_now" : true
},
"photos" : [
{
"height" : 588,
"html_attributions" : [
"\u003ca href=\"https://maps.google.com/maps/contrib/103288427379633317891/photos\"\u003e7-Eleven\u003c/a\u003e"
],
"photo_reference" : "CmRZAAAARCuoZMJvsKOXHwJmj4Eyu6UEqfRec6c3lnUxaL6dEVnMlWl02TKKkPEBb06ZpxAAow5tZZH3OYGshnjChBjhyyaB3WXxI_5DP0eRoJBag1IRVGs028hci-iFNAJceIHkEhC6fmFFKrURt2SVVMZPKnk-GhSceJbHEG_vIWrsq6UZbUjBuK7bgg",
"width" : 864
}
],
"place_id" : "ChIJ0Ttxbla3j4ARCpH-PwldBRo",
"plus_code" : {
"compound_code" : "CW8F+94 Mountain View, California",
"global_code" : "849VCW8F+94"
},
"price_level" : 1,
"rating" : 3.4,
"reference" : "CmRbAAAA50y6X4iUisNQl4Nu-457gKMfcxfIF1PNcon9xlqfir29nvEiHkcQOzoW-yghDbq3n_Ktz7HDcO4zrxgZAUwbLK3Ur9d-6vmyA8pAGHRFyoDV4eqtuT-x5hwYJMHmMSDaEhAf0WA4izKuormbIfu-pqCeGhRsmtZeRrwiJ5P32pyOdlp_ylc5xQ",
"scope" : "GOOGLE",
"types" : [
"convenience_store",
"store",
"food",
"point_of_interest",
"establishment"
],
"vicinity" : "1380 Pear Ave, Mountain View"
}
此信息是私有的并且仅供 Google 应用使用吗?或者我的服务可以为我的应用程序访问它吗?我需要知道一个地方是否即将关闭。
编辑:有opening_hours,但通常会这样返回:
"opening_hours" : {
"open_now" : true
},
我已经为一家即将关门的餐厅测试了它。 Google 地图应用程序在关闭前 1 小时将其显示为 即将关闭,而 opening_hours 仍然如此直到最后一刻才开放其他信息。
opening_hours
可以包含的内容在此处描述:https://developers.google.com/places/web-service/details?hl=en#PlaceDetailsResults
所以要么从未为您在问题中提及的地点添加信息,要么数据存在问题。无论如何,我们也无能为力。如果您认为数据存在问题,请联系 Google。在这里没有人可以做任何事情。
这里是一个地方的例子,returns所有数据:https://jsfiddle.net/upsidown/yfawx50v/
也就是说,根据您在示例中提供的地点 ID ChIJ0Ttxbla3j4ARCpH-PwldBRo
,我没有得到相同的结果:
"opening_hours" : {
"open_now" : true,
"periods" : [
{
"open" : {
"day" : 0,
"time" : "0000"
}
}
],
"weekday_text" : [
"Monday: Open 24 hours",
"Tuesday: Open 24 hours",
"Wednesday: Open 24 hours",
"Thursday: Open 24 hours",
"Friday: Open 24 hours",
"Saturday: Open 24 hours",
"Sunday: Open 24 hours"
]
},
我得到了所有的细节,正如预期的那样,并清楚地知道它是 24/7 开放的,我认为这对于 7-11.[=15 是有意义的=]