簡體   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