1

我正在使用 Leaflet 1.2.0 和 Leaflet Routing Machine 3.2.12。

我的代码在地图上绘制了正确的路线,但是,当我想从摘要中访问摘要和 totalDistance 时,两者都未定义。这是为什么?

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

错误:路由错误:状态-3 TypeError:无法读取未定义的属性(读取“totalDistance”)。

从控制台我得到升级:

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

有人知道更多吗?

4

1 回答 1

0

this没有summary. 您将需要参考e.routes,如e.routes[0].summary.totalDistance

于 2021-12-03T15:49:25.887 回答