0

如何_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它时,谢谢

参考:浏览器日志图像

4

1 回答 1

0

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

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

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

routing.on('routeselected', function(e) {
   var route = e.route
   // Your action goes here
})
于 2021-02-05T09:58:58.700 回答