如何在android中获得该地点的开放时间,我有当前位置的经纬度 .
Setp-1:我通过调用此API'http://maps.googleapis.com/maps/api/geocode/json?latlng=39.7837304,-100.4458825&sensor=true'获得了地点ID
这个api的响应返回地址数组,从这个数组中得到第一个地址ID .
九月-2: -
获取地点ID后,将此地点ID传递给此API'https://maps.googleapis.com/maps/api/place/details/json?placeid= "+placeId+"&key = API_KEY'
问题: - 以上API不返回opening_hours .
请指导 .
谢谢
3 回答
Summary
这是因为您实际上并没有在该位置查找业务,您正在查找地址,并且地址没有营业时间 .
Detailed explanation
你正在使用Reverse Geocoding for a Latitude/Longitude,它查找一个地址 . 地址没有营业时间 . 地址上的企业可以,但这些是具有不同地点ID的不同地方 .
您可以在链接到的示例中清楚地看到这一点:http://maps.googleapis.com/maps/api/geocode/json?latlng=39.7837304,-100.4458825 [请注意
sensor
是不推荐使用的参数,您应该省略它] . 在该响应中,types
的结果类型为route
,administrative_area_level_3
,postal_code
等,显然是所有没有开放时间的实体 .Alternative
正如您在Android上一样,您可能希望使用PlaceDetectionApi.getCurrentPlace()来获取当前位置,而不是反向地理编码请求 . 这可以回报企业 .
有些地方根本没有这个字段 . 这在逻辑上是必需的,它们也没有在此API的数据存储中记录小时数 .
您的代码应如下所示:
这说明了当天没有营业时间的可能性 . 要清楚,这是一个异步操作 . 它可以是同步的,但这超出了本答案的范围(通常首选异步) .