繁体   English   中英

单张顶点点击事件

[英]Leaflet vertex click event

如何从L.Polygon顶点触发/监听click事件?

用户使用以下方法制作多边形:

fobDrawPolygon: function(iobMap) {
        var obPolygon = new L.Draw.Polygon(iobMap, {
            allowIntersection: false,
            showArea: true,
            shapeOptions: {
                color: '#000'
            }
            //repeatMode: true
        });
        obPolygon.options.touchIcon.options.iconSize = [12, 12];
        obPolygon.enable();
        return obPolygon;
    },

创建多边形后,可以编辑其顶点:

onDrawFeature: function(iobMap, iobFeatureGroup) {
        var me = this;              
        iobMap.on(L.Draw.Event.CREATED, function(event) {
            var obLayer = event.layer;
            obLayer.options.editing = {};
            obLayer.editing.enable();
            iobFeatureGroup.addLayer(obLayer);
        });
    }

因此,多边形已经绘制完毕,我想听听其顶点的点击声

传单1.3.1

插件传单

注意我不使用控制工具栏

查找之后,我发现了一个轻量级的库来控制传单中几何的编辑:

首先,将editable属性添加到地图

var map = L.map('map', {
 editable: true,
 editOptions: {…} //not required
});

然后,启用功能版本

onDrawFeature: function(iobMap, iobFeatureGroup) {
    var me = this;
    iobMap.on(L.Draw.Event.CREATED, function(event) {
        var obLayer = event.layer;
        iobLayer.enableEdit(iobMap); //enable edition            
        me.cacheLayer = iobLayer;
        iobFeatureGroup.addLayer(obLayer);
    });
}

最后听多边形的顶点点击

me.cacheLayer.on({
    "editable:vertex:click": function(e){console.log("You touch me", e)}
});

在这里找到图书馆:

如果有人有其他方法,请分享,谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM