将距离矩阵添加到谷歌方向

时间:2012-03-09 04:26:03

标签: javascript google-maps google-maps-api-3 directions

帮助我使用谷歌方向来包含距离矩阵

在我的网站上,即时使用以下代码获取Google地图。我应该添加什么代码来显示from和to之间的距离以及旅行时间?

谢谢。

<div style="width: 298px;">
 <div id="map" style="width: 298px; height: 400px; float: left;"></div> 

 var directionsService = new google.maps.DirectionsService();
 var directionsDisplay = new google.maps.DirectionsRenderer();

 var map = new google.maps.Map(document.getElementById('map'), {
   zoom:7,
   mapTypeId: google.maps.MapTypeId.ROADMAP
 });

 directionsDisplay.setMap(map);
 directionsDisplay.setPanel(document.getElementById('panel'));

 var request = {
   origin: '<?php echo $contents['pickupname']; ?>', 
   destination: '<?php echo $contents['dropoffname']; ?>',
   travelMode: google.maps.DirectionsTravelMode.DRIVING
 };

 directionsService.route(request, function(response, status) {
   if (status == google.maps.DirectionsStatus.OK) {
     directionsDisplay.setDirections(response);
   }

 });

2 个答案:

答案 0 :(得分:2)

进行此更改:

directionsService.route(request, function(response, status) {
   if (status == google.maps.DirectionsStatus.OK) {
  directionsDisplay.setDirections(response);
}   

 var myRoute = response.routes[0].legs[0];
 var duration = myRoute.duration.value;
 var distance = myRoute.distance.value;   
});

另请注意,此代码仅用于演示。您需要修改代码以检查有多个路径,腿的情况。 有关详细信息,请参阅DirectionsResultDirectionsRouteDirectionsLeg

答案 1 :(得分:0)

这是我正在使用的解决方案:

首先添加将以HTML格式显示数据的元素。我正在使用这样的输入元素:

<input type="text" name="distance" id="distance" readonly="true" />

当你在你的计算中,JS将数据发送到输入。例如:

var distanceInput = document.getElementById('distance');
distanceInput.value = response.routes[0].legs[0].distance.value / 1000;