I am using Leaflet 1.2.0 and Leaflet Routing Machine 3.2.12.
My code is drawing the correct route on the map, yet, when i want to access the summary and the totalDistance from the summary, both are undefined. Why is that?
function createRoute(id, coords) {
route = L.Routing.control({
name: id,
serviceUrl: 'http://router.project-osrm.org/route/v1',
//router: L.Routing.graphHopper('apiKey');
waypoints: coords, //way_points,
addWaypoints: false,
draggableWaypoints: false,
show: false,
}).on('routesfound', function(e) {
console.log(this.summary.totalDistance);
// console.log(route.summary.totalDistance);
})
//.on('routesfound', function(e) {
// routes = e.routes; //is declared and instantiated before the function
// // createRoute
// RouteLength = routes[0].summary.totalDistance;
//});
.addTo(map);
}
The error: Routing Error: status -3 TypeError: Cannot read properties of undefined (reading 'totalDistance').
From the console i get the escalation of:
fire @ leaflet.js:5
(anonym) @ leaflet-routing-machine.js:16166
(anonym) @ leaflet-routing-machine.js:18004
loaded @ leaflet-routing-machine.js:46
load (asynchron)
corslite @ leaflet-routing-machine.js:53
route @ leaflet-routing-machine.js:17977
route @ leaflet-routing-machine.js:16151
onAdd @ leaflet-routing-machine.js:15919
addTo @ leaflet.js:5
createRoute @ POI-Dash implement Routing.html:586
Anyone know more about it?
this
doesn't have a summary
. You will need to refer to e.routes
, like e.routes[0].summary.totalDistance
.