1. <tfoot id='Rbp9l'></tfoot>

      <small id='Rbp9l'></small><noframes id='Rbp9l'>

      • <bdo id='Rbp9l'></bdo><ul id='Rbp9l'></ul>
    2. <legend id='Rbp9l'><style id='Rbp9l'><dir id='Rbp9l'><q id='Rbp9l'></q></dir></style></legend>
      <i id='Rbp9l'><tr id='Rbp9l'><dt id='Rbp9l'><q id='Rbp9l'><span id='Rbp9l'><b id='Rbp9l'><form id='Rbp9l'><ins id='Rbp9l'></ins><ul id='Rbp9l'></ul><sub id='Rbp9l'></sub></form><legend id='Rbp9l'></legend><bdo id='Rbp9l'><pre id='Rbp9l'><center id='Rbp9l'></center></pre></bdo></b><th id='Rbp9l'></th></span></q></dt></tr></i><div id='Rbp9l'><tfoot id='Rbp9l'></tfoot><dl id='Rbp9l'><fieldset id='Rbp9l'></fieldset></dl></div>
    3. Leaflet Draw Plugin:如何按图层类型动态隐藏/显示绘

      时间:2023-08-09
      <legend id='I10hD'><style id='I10hD'><dir id='I10hD'><q id='I10hD'></q></dir></style></legend>
      • <bdo id='I10hD'></bdo><ul id='I10hD'></ul>
      • <i id='I10hD'><tr id='I10hD'><dt id='I10hD'><q id='I10hD'><span id='I10hD'><b id='I10hD'><form id='I10hD'><ins id='I10hD'></ins><ul id='I10hD'></ul><sub id='I10hD'></sub></form><legend id='I10hD'></legend><bdo id='I10hD'><pre id='I10hD'><center id='I10hD'></center></pre></bdo></b><th id='I10hD'></th></span></q></dt></tr></i><div id='I10hD'><tfoot id='I10hD'></tfoot><dl id='I10hD'><fieldset id='I10hD'></fieldset></dl></div>

        <small id='I10hD'></small><noframes id='I10hD'>

            <tfoot id='I10hD'></tfoot>

                  <tbody id='I10hD'></tbody>
                本文介绍了Leaflet Draw Plugin:如何按图层类型动态隐藏/显示绘图工具的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                我在我的项目中使用绘图插件,我想知道如何按图层类型隐藏/显示绘图工具?

                I'm using draw plugin in my project and I would like to know how can I hide/show drawing tools by layer type?

                例如,假设我有 2 层,其中一层是多边形,另一层是线.

                For example, let's say I have 2 layers one of them type is Polygon and the other one is Line.

                如果用户选择多边形图层,我想隐藏画线工具.

                之后,如果用户选择Line layer,我想隐藏多边形绘图工具.我看过 here 但这个例子使工具静态化,我想动态地改变.我该怎么做?

                After that, If user select Line layer, I want to hide Polygon drawing tool. I've looked here but this example is making tools static, I want to change dynamically. How can I do that?

                我们将不胜感激.

                推荐答案

                我自己解决了.我在地图初始化时添加了这个绘制控件.

                I solved it myself. I'm adding this draw control when map initialized.

                 drawControl = new L.Control.Draw({
                    draw : {
                        position : 'topleft',
                        polygon : false,
                        polyline : false,
                        rectangle : false,
                        circle : false
                
                    },
                    edit : false
                });
                
                map.addControl(drawControl); 
                

                之后,我写了一个重置​​绘图工具的函数.

                After that, i wrote a function for resetting drawing tools.

                  function setDrawingTools(layerType) {
                
                    map.removeControl(drawControl);
                
                    if (layerType == 'Polygon') {
                
                        drawControl = new L.Control.Draw({
                            draw : {
                                position : 'topleft',
                                polygon : {
                                    title : 'Draw a sexy polygon!',
                                    allowIntersection : false,
                                    drawError : {
                                        color : '#b00b00',
                                        timeout : 1000
                                    },
                                    shapeOptions : {
                                        color : '#bada55'
                                    },
                                    showArea : true
                                },
                                polyline : false,
                                rectangle : false,
                                circle : false,
                                marker : false
                            },
                            edit : false
                        });
                    } else if (layerType == 'Line') {
                
                        drawControl = new L.Control.Draw({
                            draw : {
                                position : 'topleft',
                                polygon : false,
                                polyline : {
                                    metric : false
                                },
                                rectangle : false,
                                circle : false,
                                marker : false
                            },
                            edit : false
                        });
                    } else if (layerType == 'Point') {
                
                        drawControl = new L.Control.Draw({
                            draw : {
                                position : 'topleft',
                                polygon : false,
                                polyline : false,
                                rectangle : false,
                                circle : false
                
                            },
                            edit : false
                        });
                
                    }
                    map.addControl(drawControl);
                }
                

                这篇关于Leaflet Draw Plugin:如何按图层类型动态隐藏/显示绘图工具的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:Leaflet maxBounds - 边界不起作用 下一篇:从外部访问 Leaflet.js GeoJson 功能

                相关文章

                最新文章

                <tfoot id='JQNjk'></tfoot>

                  • <bdo id='JQNjk'></bdo><ul id='JQNjk'></ul>
                1. <legend id='JQNjk'><style id='JQNjk'><dir id='JQNjk'><q id='JQNjk'></q></dir></style></legend>
                  1. <i id='JQNjk'><tr id='JQNjk'><dt id='JQNjk'><q id='JQNjk'><span id='JQNjk'><b id='JQNjk'><form id='JQNjk'><ins id='JQNjk'></ins><ul id='JQNjk'></ul><sub id='JQNjk'></sub></form><legend id='JQNjk'></legend><bdo id='JQNjk'><pre id='JQNjk'><center id='JQNjk'></center></pre></bdo></b><th id='JQNjk'></th></span></q></dt></tr></i><div id='JQNjk'><tfoot id='JQNjk'></tfoot><dl id='JQNjk'><fieldset id='JQNjk'></fieldset></dl></div>

                    <small id='JQNjk'></small><noframes id='JQNjk'>