我添加了一个分页,但现在它显示了20个位置然后等待2秒,显示另外20个位置并再次等待几秒。我读到Google在nextPage调用之间增加了延迟。如果有办法消除延迟并且一次显示60个地方
,我会更加干净this.service.search(request, function(results, status, pagination) {
self.addPlaces(results, status, pagination);
if (pagination.hasNextPage) {
// sleep:0; this doesn't effect anything
pagination.nextPage();
}
});
答案 0 :(得分:2)
没有办法消除这种延迟,但是一个转变就是向用户显示progressBar或者在向用户显示之前进行预取。您可以看到我的answer,我正在使用AsyncTask在后台调用请求方法并显示progressBar,直到它获取所有60个结果。
答案 1 :(得分:1)
无法删除其他页面请求之间的两秒延迟。这是由于数据提供者限制而限制开发人员一次只显示20个结果,除非用户请求更多结果。
如Google Maps Javascript API v3 Places Library Documentation中所述:
“必须在显示结果的下一页之前显示每页结果。”
答案 2 :(得分:0)
减少调用不仅要坚持使用20个结果,还要考虑在查询中添加延迟是有利的。添加500毫秒的延迟使我与之合作的项目的请求减少了20%。