首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google v3:多个DirectionsRequests需要不同的时间来回答

Google v3:多个DirectionsRequests需要不同的时间来回答
EN

Stack Overflow用户
提问于 2013-05-23 23:35:53
回答 1查看 149关注 0票数 0

我想在Google v3,GWT 2.5.1中画出五条不同的路线。我初始化了一个在这个类中设置其DirectionDisplayDirectionsRequest的路由。

当我开始我的网络项目时,有时只显示我的第一条路线,有时是全部五条,所以我决定做一个System.out.print(m)

结果:

  • 01234 ->与预期一样,所有的路由显示
  • 10234 ->错误,仅显示第一条路由。

为什么谷歌会在我的第一个请求之前满足我的第二个请求?我试图使用Thread.sleep(1000)来确保我的请求有时间按顺序返回,还有Timer/TimerTask,但没有成功。有什么想法吗?

代码语言:javascript
复制
DirectionsService o = DirectionsService.newInstance();

for (Integer i = 0; i < 4; i++) {  //routes.size()

    final int m = i;

    final Route route = new Route("Route " + i.toString());

    route.initRoute(m, getRoutingPresenter(), adressData, addressIndex);
    //here i initialize the DirectionsRequests and its Displays, which
    //i set in this class after execution.

    o.route(directionsRequest, new DirectionsResultHandler() {

        @Override
        public void onCallback(DirectionsResult result,DirectionsStatus status) {

            if (status == DirectionsStatus.OK) {

                   System.out.print(m);
                       ...
            }
        }
    );
}
}
EN

回答 1

Stack Overflow用户

发布于 2013-05-23 23:46:00

Google可以花很长的时间来处理您的请求,您应该相应地编写代码。对于任何HTTP流量,这都是正确的。即使远程服务器保证所有请求都有固定的服务时间,Internet也不会,您的请求可能会通过它的任何旧路径。

您可以正确处理代码,以便响应顺序不重要,也可以编写响应顺序,以便等待所有响应返回,然后整理顺序本身。

我建议第一条,除非有非常具体的重要理由不这样做。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16725598

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档