3

我正在使用Google Places API检索当前位置周围的所有 POI(感兴趣的地方),它工作正常,但我注意到无论半径的值是多少,我总是得到相同数量的结果(〜 20 )。结果,如果我给出的半径太大,我不一定会得到最近POI的 s。如果我将半径的量减小到足够小,我将再次检索那些最近的地方(通过实验,我注意到 100 米是一个合适的值)但这意味着我不会得到任何超过 100 米的 POI,即不是我想要的。

我的问题是:有什么方法可以让我在一定半径内获得所有POI(没有限制)。

谢谢!

4

3 回答 3

3

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 Maps 视频链接到该区域。

于 2012-05-18T03:14:19.260 回答
2

正如此处的 Google Places 问题跟踪器所述:http ://code.google.com/p/gmaps-api-issues/issues/detail?id=3425

我们受到数据提供商许可证的限制,使应用程序一次只能显示不超过 20 个地点的结果。因此,我们目前无法提高此限制。

但是,听起来您确实在尝试返回最接近指定位置的结果,现在可以通过在请求中使用“rankby=distance”参数而不是“radius”来实现。

例如

https://maps.googleapis.com/maps/api/place/search/json?location=-33.8670522,151.1957362&rankby=distance&types=food&name=harbour&sensor=false&key=YOUR_API_KEY

于 2012-05-21T03:20:31.217 回答
0

尝试google.maps.places.RankBy.DISTANCE;默认为google.maps.places.RankBy.PROMINENCE;

此处显示了一个简单的示例

(仅限铬)

于 2012-05-23T11:49:35.820 回答