问题描述
如何在我的代码中访问此 _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
,谢谢
解决方法
查找路线是一个异步操作,它会在您创建路线控件时(或更改航点时)开始,但会在稍后完成。这意味着在创建控件后该路由不会立即可用。
这在 JavaScript 中很常见,很多操作都是异步的,你通常通过回调或事件处理程序来处理它,你应该研究一下熟悉这个概念。
在这种特殊情况下,您不应使用 _selectedRoute
,下划线表示它是一个不供公共使用的内部变量。相反,您应该使用 routeselected
事件处理程序在选择路由时执行您需要的任何操作:
routing.on('routeselected',function(e) {
var route = e.route
// Your action goes here
})