googlemap api でルート案内の渋滞情報の取得方法
googlemap api でルート案内の渋滞情報の取得方法を教えてください。
directionsapiを利用してルート検索をして到着時間を取得できますが、渋滞も考慮した到着時間を取得したいです。
リクエストにtraffic_modelを指定するとレスポンスにduration_in_traffic が取得できると説明書きがありますがどこにも入ってきません!いろんなサイトに似たような質問がありますが解決していないようです。何卒、ご教示お願いします…
コード
<html lang="ja">
<head>
<style type="text/css">
#map-canvas {
width: 800px;
height: 600px;
margin: 0 auto;
background: #eee;
}
#directions-panel {
width: 400px;
height: 600px;
margin: 0 auto;
background: #eee;
}
</style>
<meta charset="utf-8">
</head>
<body>
<div id="control">
<strong>Start:</strong>
<select id="start" onchange="calcRoute();">
<option value="苫小牧市">苫小牧市</option>
<option value="札幌市">札幌市</option>
<option value="旭川市">旭川市</option>
<option value="帯広市">帯広市</option>
</select>
<strong>End:</strong>
<select id="end" onchange="calcRoute();">
<option value="苫小牧市">苫小牧市</option>
<option value="札幌市">札幌市</option>
<option value="旭川市">旭川市</option>
<option value="帯広市">帯広市</option>
</select>
</div>
<div id="map-canvas" style="float:left;"></div>
<div id="directions-panel" style="float:left;"></div>
</body>
</html>
<script src="https://maps.googleapis.com/maps/api/js?key=<APIKEY>"></script>
<script>
var directionsDisplay;
var directionsService = new google.maps.DirectionsService();
function initialize() {
directionsDisplay = new google.maps.DirectionsRenderer();
var mapOptions = {
zoom: 7,
center: new google.maps.LatLng(42.6343021, 141.60537210000007)
};
var map = new google.maps.Map(document.getElementById('map-canvas'),mapOptions);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById('directions-panel'));
calcRoute();
}
function calcRoute() {
var departureDateTime = "2016/09/18 18:00 PST";//出発時間指定
var start = document.getElementById('start').value;
var end = document.getElementById('end').value;
var request = {
origin: start,
destination: end,
travelMode: google.maps.TravelMode.DRIVING,
drivingOptions: {
departureTime: new Date(departureDateTime),
trafficModel: google.maps.TrafficModel.PESSIMISTIC
}
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
console.log(response);
}
});
}
google.maps.event.addDomListener(window, 'load', initialize);
</script>
レスポンスの内容
レスポンスの中のdurationの次に交通状況(渋滞など)を加味した移動時間がduration_in_trafficという項目として入ってくるはずですが入ってきません