流量持续时间google api

时间:2013-08-08 06:43:01

标签: java google-maps

我正在尝试使用谷歌的方向服务API查找从始发地到目的地的旅行时间。我需要根据交通状况找出旅行时间。我尝试使用javascript,它返回流量值的持续时间。但是,当我在java中尝试相同的问题时,似乎没有返回流量值的持续时间。那么如何使用google的方向服务api获取流量持续时间?

网址url = new URL ("http://maps.googleapis.com/maps/api/directions/json?origin=" + URLEncoder.encode(origin, "UTF-8") +"&destination="+ URLEncoder.encode(destination, "UTF-8") +"&waypoints=optimize:true|Bagbazar,Kathmandu|Thapathali,Kathmandu|Kamal+Pokhari,Kathmandu"+"&sensor=false");

上面我已经粘贴了我以前发送给谷歌服务器的网址。 下面是java脚本代码,在下面的代码中我可以设置durationInTraffic:true,它返回在流量条件下旅行所需的时间。 java中的等效过程是什么?

 var request = {

      origin:"Wollongong, Australia",
      destination:"Sydney,Australia",
      travelMode: google.maps.DirectionsTravelMode.DRIVING,
      provideRouteAlternatives: true,
      durationInTraffic: true
    };

4 个答案:

答案 0 :(得分:1)

查看地图文档页面上Legs部分下的duration_in_traffic定义:

  1. 路线请求包括departure_time参数,该参数设置为当前时间的几分钟内的值。
  2. 该请求包含有效的Maps for Business客户端和签名参数。
  3. 所需路线的交通状况可用。
  4. 路线请求不包括中途停留点。
  5. 可能不是他们列出的所有4个条件都满足了吗?

    该页面上还有一个JSON示例,如果有帮助,您可以使用示例网址。

答案 1 :(得分:1)

在Google API网址中添加& departure_time =现在它返回duration_in_traffic时间。现在表示当前时间,或者您可以将毫秒时间替换为现在。

如果您添加航路点,则不会返回duration_in_traffic

因为谷歌Api提到路线请求不包括中途停留点。

但是如果您使用via:lat添加路标,那么它将返回流量的持续时间,因为Google API不会将航点视为中途停留

答案 2 :(得分:0)

流量持续时间仅适用于高级计划用户。对于流量持续时间,您必须添加以下参数 1- departure_time =现在 高级计划用户的2- key = YOUR_API_KEY或client_id = CLIENT_ID& signature = SIGNATURE

答案 3 :(得分:0)

如果你设置了departure_time,你可以获得每个腿的duration_in_traffic,但是如果你想要每个步骤的duration_in_traffic,你应该使用distance_matrix API,并合并这两个。 在远程google API中,您需要设置departure_time。