传单绘制后形状丢失

Bet*_*ide 2 leaflet leaflet.draw

我正在使用传单来显示地图,并使用传单绘制插件在该地图上绘制形状。

\n\n

我有下面的代码(请参阅 plunker),它允许绘制形状。但一旦形状完成,它就消失了。

\n\n

绘制后要使形状在地图上可见,缺少什么?

\n\n
    var mymap = L.map(\'mapid\').setView([47.2090048, 7.7746663], 15);\n\n    L.tileLayer(\'https://api.tiles.mapbox.com/v4/{id}/{z}/{x}/{y}.png?access_token=pk.eyJ1IjoiZXJuc3RwIiwiYSI6ImNpcGdtMTUzOTAwMGV2Ymt3Z2JlYnMyejgifQ.gHxSIfBUM0-UiuWurWoEvQ\', {\n      maxZoom: 18,\n      attribution: \'Map data &copy; <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, \' +\n        \'<a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, \' +\n        \'Imagery \xc2\xa9 <a href="http://mapbox.com">Mapbox</a>\',\n      id: \'mapbox.streets\'\n    }).addTo(mymap);\n\n    var marker = L.marker([47.2090048, 7.7747663]).addTo(mymap);\n\n    // Initialise the FeatureGroup to store editable layers\n    var drawnItems = new L.FeatureGroup();\n    mymap.addLayer(drawnItems);\n\n    // Initialise the draw control and pass it the FeatureGroup of editable layers\n    var drawControl = new L.Control.Draw({\n      edit: {\n        featureGroup: drawnItems\n      }\n    });\n    mymap.addControl(drawControl);\n
Run Code Online (Sandbox Code Playgroud)\n

vad*_*lim 5

您已经成功绘制了形状,但是这里缺少的是您没有在地图图层顶部显示绘制的形状,尽管您想要实现的是显示它。

您所要做的只是将绘制的图层添加到地图顶部。

例如

mymap.on('draw:created', function (e) {
    var type = e.layerType,
        layer = e.layer;

    if (type === 'marker') {
        // Do marker specific actions
    }

    // Do whatever else you need to. (save to db, add to map etc)
    mymap.addLayer(layer);
});
Run Code Online (Sandbox Code Playgroud)

您可以将此代码添加到js. 这是取自文档的