谷歌地图API V3检索数据,有和没有交通
问题描述:
我想从一个点访问时间到另一点,交通和没有交通(见下面的承受力)谷歌地图API V3检索数据,有和没有交通
我要计算的有和没有交通时延迟。我无法在Gogole Maps API v3中找到可以提供该数据的方法。或者我有计算与其他数据?编辑:
我知道如何计算持续时间。问题是我想获得流量的持续时间以及没有流量的持续时间(参见上面提供的图片),以便计算可能的延迟时间。
编辑: 请纠正我,如果我错了,但似乎是,根据该链路与谷歌API V3是不可能 Google maps traffic prediction API V3
有谁知道我可以从一个点获得持续到另一个?它不一定是谷歌。
答
Google Maps JS API中有一个traffic layer。
您需要添加到您的地图交通层:
var trafficLayer = new google.maps.TrafficLayer();
trafficLayer.setMap(map);
在这里有一个live example.
如果你要计算的持续时间,有a distance matrix API from Google 并从#1这个问题,你可以看到the answer.
在Direction Service你需要给这个字段:
{
origin: LatLng | String,
destination: LatLng | String,
travelMode: TravelMode,
transitOptions: TransitOptions,
unitSystem: UnitSystem,
durationInTraffic: Boolean, /* this is with traffic or without */
waypoints[]: DirectionsWaypoint,
optimizeWaypoints: Boolean,
provideRouteAlternatives: Boolean,
avoidHighways: Boolean,
avoidTolls: Boolean
region: String
}
您可以先尝试使用流量并保存持续时间,然后关闭流量选项并保存。所以你可以看到他们之间的区别。
答
GET请求做 -
https://maps.googleapis.com/maps/api/distancematrix/json?origins=garching&destinations=hamburg&departure_time=now&key=YOUR_KEY
会给你duration
& duration_in_traffic
对于为route-
{
"destination_addresses": [
"Hamburg, Germany"
],
"origin_addresses": [
"85748 Garching, Germany"
],
"rows": [
{
"elements": [
{
"distance": {
"text": "761 km",
"value": 760831
},
"duration": {
"text": "7 hours 1 min",
"value": 25242
},
"duration_in_traffic": {
"text": "6 hours 42 mins",
"value": 24145
},
"status": "OK"
}
]
}
],
"status": "OK"
}
的departure_time
被列为可选参数该文件,但它是必需的,如果你想看到duration_in_traffic
估计。
希望这会有所帮助。
感谢您的回答。我知道如何计算持续时间。问题是我想获得流量的持续时间以及没有流量的持续时间(请参阅我在开场白中提供的图片),以便计算可能的延迟时间。希望我能把我的观点贯穿起来。 – thadeuszlay 2014-10-02 09:04:22
所以你需要用'durationInTraffic:true',然后'durationInTraffic:false'写回你的回调和选项一次,但我不太确定它是否会给你没有流量版本的你。 – xmux 2014-10-02 09:09:34
“注意:durationInTraffic字段现已被弃用,之前Google Maps APIs Premium Plan客户推荐的方式是指定结果是否应包含考虑当前交通状况的持续时间,您现在应该使用drivingOptions字段。 “ – 2016-05-01 21:37:44