传单点击编辑图层

Leaflet click to edit layer

我在地图上有折线要素组,我想在单击时编辑图层。

if (layer instanceof L.Polyline) {
            const style = {
                color: InvestmentConstants.colors[$ctrl.investment.sector]
            };
            layer.setStyle(style);
            layer.enableEdit();
            layer.on('click',(layer) =>{
                someCb()
            })
        }

我有这个,但是 enableEdit 函数不起作用抛出 enableEdit is not a function 错误。

地图初始化片段:

 $ctrl.map = new Map(
                "investment-edit-map",
                projectCenter,
                15,
                { 
                  mapSource: Map.Google,
                  editable:true 
                }
            );

感谢您的帮助。

编辑:更改了 enableEdit() 函数行,现在我收到新错误 TypeError: Cannot read properties of undefined (reading 'editTools')

根据这个 documentation .on('click') returns 一个 MouseEvent 所以这段代码看起来是错误的

 layer.on('click',(layer) => {
     // layer here is a MouseEvent, not a layer
     layer.enableEdit(); // MouseEvent.enableEdit() is not a function
 })

改为

 layer.on('click',() => {
     layer.enableEdit();
 })

编辑:问题在我回答后被编辑,这使得我的回答被弃用