Как узнать расстояние и время от L.Routing.control? - PullRequest
0 голосов
/ 31 декабря 2018

Я рисую маршрут на листовой карте, он хорошо работает, а в контроле показывает расстояние и приблизительное время прибытия.Есть ли способ извлечь их обоих и сохранить их?

Код для L.Routing.control

function getroute() {
myroutewithout = L.Routing.control({
  waypoints: [
    L.latLng(window.my_lat, window.my_lng),
    L.latLng(window.job_p_lat, window.job_p_lng)
  ],show: true, units: 'imperial',
 router: L.Routing.mapbox('API-KEY-HERE'),
  createMarker: function(i, wp, nWps) {
    if (i === 0 || i === nWps + 1) {
      // here change the starting and ending icons
      return mymarker = L.marker(wp.latLng, {
        icon: operatoricon
      });
    } else {
      return job_start = L.marker(wp.latLng, {
        icon: jobicon
      }); 
    }
  }
}).addTo(map);

1 Ответ

0 голосов
/ 31 декабря 2018

Этого можно добиться, используя код из этого номера

var routeControl = L.Routing.control({...});
...
routeControl.on('routesfound', function(e) {
   var routes = e.routes;
   var summary = routes[0].summary;
   // alert distance and time in km and minutes
   alert('Total distance is ' + summary.totalDistance / 1000 + ' km and total time is ' + Math.round(summary.totalTime % 3600 / 60) + ' minutes');
});

Демо

...