1

我添加了一个分页,但现在它显示 20 个位置然后等待 2 秒,显示另外 20 个位置并再次等待几秒钟。我读到谷歌在 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();
            }                           
});
4

3 回答 3

2

没有办法消除这种延迟,但一个转变是向用户显示进度条或在向用户显示之前预取。你可以看到我的答案,我正在使用 AsyncTask 在后台调用请求方法并显示一个进度条,直到它获取所有 60 个结果。

于 2012-10-10T17:19:15.550 回答
1

无法消除额外页面请求之间的两秒延迟。这是由于数据提供商限制开发人员一次只能显示 20 个结果,除非用户请求更多结果。

如 Google Maps Javascript API v3 Places Library Documentation所述:

“必须先显示每一页结果,然后再显示下一页结果。”

于 2012-09-17T07:22:26.583 回答
0

减少调用不仅坚持 20 个结果,而且考虑在查询上添加延迟是有利的。添加 500 毫秒的延迟使我参与的项目的请求减少了 20%。

于 2012-10-02T14:27:25.517 回答