我使用的是谷歌Places API的检索所有的POI(景点)围绕当前位置,它的工作原理确定,但我注意到,无论半径的值,我总是得到相同的结果数(〜20 )。 其结果是,如果我给一个半径太大,我也不一定能获得最近的POI
秒。 如果我减少半径的量要足够小,我会重新找回那些最近的地方(从实验,我已经注意到,100米,一个适当的值),但是这意味着我不会得到任何兴趣点大于100米,那里是不太我想要的。
我的问题是:有没有办法让我可以得到所有的兴趣点(没有限制),在一定范围内。
谢谢!
我使用的是谷歌Places API的检索所有的POI(景点)围绕当前位置,它的工作原理确定,但我注意到,无论半径的值,我总是得到相同的结果数(〜20 )。 其结果是,如果我给一个半径太大,我也不一定能获得最近的POI
秒。 如果我减少半径的量要足够小,我会重新找回那些最近的地方(从实验,我已经注意到,100米,一个适当的值),但是这意味着我不会得到任何兴趣点大于100米,那里是不太我想要的。
我的问题是:有没有办法让我可以得到所有的兴趣点(没有限制),在一定范围内。
谢谢!
该谷歌Places API的总是返回20个结果通过设计,选择20个结果,最适合您在请求中定义的标准。 开发人员指南/文件没有明确任何地方引用这个数字,我都看见了。 我了解了限制观看自动完成演示&Places API的演示和讨论视频保罗萨克斯曼,在谷歌和马塞洛Camelo酒店,谷歌的Places API所技术负责开发人员倡导者给出。
整个视频是值得关注的,但更具体到你的问题,如果你在11时50分左右,马塞洛Camelo酒店是对比自动完成工具与一般的地方API设置播放计时器,并在那里,他提到了这是视频的部分20结果的限制。 他提到20为标准计算的结果几次。
有链接到该地区在YouTube上的许多其它地方好API和谷歌地图的视频。
作为对谷歌的地方问题追踪这里提到: http://code.google.com/p/gmaps-api-issues/issues/detail?id=3425
我们对我们的数据提供商的许可限制,使应用能够显示在同一时间不超过20位的结果。 因此,我们不能在这个时候增加此限制。
这听起来像你却试图返回的结果是最接近指定的位置,这是现在可以使用的,而不是在你的要求“半径”的“rankby =距离”参数。
如
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
尝试google.maps.places.RankBy.DISTANCE;
作为默认值是google.maps.places.RankBy.PROMINENCE;
这方面的一个简单的例子示在这里
(仅适用于Chrome浏览器)