我正在使用Google Places API检索当前位置周围的所有POI(景点),它工作正常,但我注意到无论半径的值是多少,我总是得到相同的数字结果(~20)。因此,如果我给出的半径太大,我不一定得到最接近的POI
s。如果我将半径的数量减少到足够小,我将再次检索那些最近的地方(从实验中,我注意到100米是一个合适的值),但这意味着我不会得到任何超过100米的POI,这是不是我想要的。
我的问题是:我有什么方法可以在一定范围内获得所有 POI(没有限制)。
谢谢!
答案 0 :(得分:2)
正如Google地方问题跟踪器中所述:http://code.google.com/p/gmaps-api-issues/issues/detail?id=3425
我们受到数据提供商许可的限制,以使应用一次只能显示不超过20个位置的结果。因此,我们目前无法增加此限制。
听起来好像你正在尝试返回最接近指定位置的结果,现在可以通过在请求中使用'rankby = distance'参数而不是'radius'来实现。
e.g。
答案 1 :(得分:1)
Google Places API始终按设计返回20个结果,选择最符合您在请求中定义的条件的20个结果。开发人员指南/文档没有在我看到的任何地方明确引用该数字。我了解了观看Autocomplete Demo & Places API Demo & Discussion Video的限制,由Google的开发者倡导者Paul Saxman和Google的Places API技术主管Marcelo Camelo提供。
整个视频值得观看,但更具体的问题是,如果您将播放计时器设置为大约11:50,则Marcelo Camelo会将自动填充工具与常规Places API进行对比,这就是视频的一部分他提到了20个结果限制。他提到20次作为标准结果计数数次。
YouTube上还有许多其他好的Places API和Google地图视频也与该区域相关联。
答案 2 :(得分:0)
尝试google.maps.places.RankBy.DISTANCE;
,默认为google.maps.places.RankBy.PROMINENCE;
显示了一个简单的例子Here
(仅限Chrome)