我正在尝试使用谷歌的方向服务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
};
答案 0 :(得分:1)
查看地图文档页面上Legs部分下的duration_in_traffic定义:
可能不是他们列出的所有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。