如何访问 _selectedRoute 传单?

问题描述

如何在我的代码中访问此 _selectedRoute?我需要它来保存说明和摘要

let routing = L.Routing.control({
    waypoints: [
        L.latLng(20.97912897266421,105.78617941902107),L.latLng(21.0033696728394,105.82059752419705)
    ],routeWhileDragging: true,geocoder: L.Control.Geocoder.nominatim()
}).addTo(mymap);

console.log(routing)
console.log(routing._selectedRoute)

当我undefined时它说console.log,谢谢

参考:browser logs image

解决方法

查找路线是一个异步操作,它会在您创建路线控件时(或更改航点时)开始,但会在稍后完成。这意味着在创建控件后该路由不会立即可用。

这在 JavaScript 中很常见,很多操作都是异步的,你通常通过回调或事件处理程序来处理它,你应该研究一下熟悉这个概念。

在这种特殊情况下,您不应使用 _selectedRoute,下划线表示它是一个不供公共使用的内部变量。相反,您应该使用 routeselected 事件处理程序在选择路由时执行您需要的任何操作:

routing.on('routeselected',function(e) {
   var route = e.route
   // Your action goes here
})

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...