Добавление матрицы расстояний в направление Google - PullRequest
1 голос
/ 09 марта 2012

Помогите мне с направлением Google включить матрицу расстояний

на моем сайте, я использую приведенный ниже код для получения карты 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);
   }

 });

Ответы [ 2 ]

2 голосов
/ 09 марта 2012

Внесите изменения:

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

Также обратите внимание, что этот код предназначен только для демонстрации.Вам нужно изменить код, чтобы проверить случаи, когда есть несколько маршрутов, ветвей.Для получения подробной информации см. DirectionsResult , DirectionsRoute , DirectionsLeg

0 голосов
/ 11 июня 2014

Это решение, которое я использую:

Сначала добавьте элемент, который покажет ваши данные в 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;
...