1

帮助我用谷歌方向包括距离矩阵

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

谢谢你。

<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);
   }

 });

4

2 回答 2

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

于 2012-03-09T07:08:59.537 回答
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;
于 2014-06-11T16:15:24.353 回答