pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

      <bdo id='FP4AL'></bdo><ul id='FP4AL'></ul>

    <tfoot id='FP4AL'></tfoot><legend id='FP4AL'><style id='FP4AL'><dir id='FP4AL'><q id='FP4AL'></q></dir></style></legend>
    <i id='FP4AL'><tr id='FP4AL'><dt id='FP4AL'><q id='FP4AL'><span id='FP4AL'><b id='FP4AL'><form id='FP4AL'><ins id='FP4AL'></ins><ul id='FP4AL'></ul><sub id='FP4AL'></sub></form><legend id='FP4AL'></legend><bdo id='FP4AL'><pre id='FP4AL'><center id='FP4AL'></center></pre></bdo></b><th id='FP4AL'></th></span></q></dt></tr></i><div class="5j7tvnn" id='FP4AL'><tfoot id='FP4AL'></tfoot><dl id='FP4AL'><fieldset id='FP4AL'></fieldset></dl></div>
  1. <small id='FP4AL'></small><noframes id='FP4AL'>

    1. 如何在不使用 Leaflet.draw UI 的情況下單擊一個按鈕

      How to click a button and start a new polygon without using the Leaflet.draw UI(如何在不使用 Leaflet.draw UI 的情況下單擊一個按鈕并開始一個新的多邊形)

          <bdo id='UMg4R'></bdo><ul id='UMg4R'></ul>
          • <small id='UMg4R'></small><noframes id='UMg4R'>

            <legend id='UMg4R'><style id='UMg4R'><dir id='UMg4R'><q id='UMg4R'></q></dir></style></legend>

              <i id='UMg4R'><tr id='UMg4R'><dt id='UMg4R'><q id='UMg4R'><span id='UMg4R'><b id='UMg4R'><form id='UMg4R'><ins id='UMg4R'></ins><ul id='UMg4R'></ul><sub id='UMg4R'></sub></form><legend id='UMg4R'></legend><bdo id='UMg4R'><pre id='UMg4R'><center id='UMg4R'></center></pre></bdo></b><th id='UMg4R'></th></span></q></dt></tr></i><div class="t7zln7z" id='UMg4R'><tfoot id='UMg4R'></tfoot><dl id='UMg4R'><fieldset id='UMg4R'></fieldset></dl></div>
              <tfoot id='UMg4R'></tfoot>
                  <tbody id='UMg4R'></tbody>
                本文介紹了如何在不使用 Leaflet.draw UI 的情況下單擊一個按鈕并開始一個新的多邊形的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                我正在努力解決的是如何在不使用 Leaflet.draw UI 的情況下單擊一個按鈕并開始一個新的多邊形.例如

                What I'm struggling with is how to click a button and start a new polygon without using the Leaflet.draw UI. e.g.

                $('#draw_poly').click(function() {  
                
                
                });
                

                我可以將現有的多邊形置于編輯模式,這沒問題.

                I'm able to put an existing polygon into edit mode no problem.

                $('.edit_polygon').click(function() {  
                    var name = $(this).text();
                    geojson_layer.eachLayer(function (layer) {
                        if (name == layer.feature.properties.name){                   
                            layer.editing.enable();  
                        }                    
                    });
                    return false;
                }); 
                

                感謝 Jacob Toye 的幫助.我做了一個小演示.

                Thanks to Jacob Toye for assistance. I've made a little demo.

                <!DOCTYPE html>
                <html>
                <head>
                    <title>Button click</title>
                    <link rel="stylesheet"  />
                    <link rel="stylesheet" href="Leaflet.draw/dist/leaflet.draw.css" />
                    <script src="http://cdn.leafletjs.com/leaflet-0.7.2/leaflet.js"></script>
                    <script src="Leaflet.draw/dist/leaflet.draw.js"></script>
                </head>
                <body>
                    <div><button id="draw_poly" onclick="drawPolygon()" >Draw Polgyon</button></div>
                    <div id="map" style="width: 800px; height: 600px; border: 1px solid #ccc"></div>
                    <script>        
                        var cloudmadeUrl = 'http://{s}.tile.cloudmade.com/BC9A493B41014CAABB98F0471D759707/997/256/{z}/{x}/{y}.png',
                        cloudmade = new L.TileLayer(cloudmadeUrl, {maxZoom: 18}),
                        map = new L.Map('map', {layers: [cloudmade], center: new L.LatLng(51.505, -0.04), zoom: 13});
                        var drawnItems = new L.FeatureGroup();
                        map.addLayer(drawnItems);
                
                        map.on('draw:created', function (e) {
                            var type = e.layerType,
                            layer = e.layer;
                            drawnItems.addLayer(layer);
                        });
                
                        polygon_options = {
                            showArea: false,
                            shapeOptions: {
                                stroke: true,
                                color: '#6e83f0',
                                weight: 4,
                                opacity: 0.5,
                                fill: true,
                                fillColor: null, //same as color by default
                                fillOpacity: 0.2,
                                clickable: true
                            }
                        }
                
                        function drawPolygon(){
                            var polygonDrawer = new L.Draw.Polygon(map, polygon_options);     
                            polygonDrawer.enable();
                        }
                    </script>
                </body>
                </html>
                

                推薦答案

                開始繪制形狀非常簡單.您為所需的形狀類型創建一個處理程序,然后啟用該處理程序.

                To start drawing a shape is very straight forward. You create a handler for the type of shape you want and then enable that handler.

                例如要繪制折線,您會這樣做:

                E.g. for drawing a polyline you would do:

                // Define you draw handler somewhere where you click handler can access it. N.B. pass any draw options into the handler
                var polygonDrawer = new L.Draw.Polyline(map);
                
                // Assumming you have a Leaflet map accessible
                map.on('draw:created', function (e) {
                    var type = e.layerType,
                        layer = e.layer;
                
                    // Do whatever you want with the layer.
                    // e.type will be the type of layer that has been draw (polyline, marker, polygon, rectangle, circle)
                    // E.g. add it to the map
                    layer.addTo(map);
                });
                
                // Click handler for you button to start drawing polygons
                $('#draw_poly').click(function() {
                    polygonDrawer.enable();
                });
                

                查看文檔了解更多信息:

                Check out the docs for more info:

                draw:created"事件:https://github.com/Leaflet/Leaflet.draw#drawcreated繪制處理程序選項:https://github.com/Leaflet/Leaflet.draw#draw-handler-options

                "draw:created" event: https://github.com/Leaflet/Leaflet.draw#drawcreated Draw handler options: https://github.com/Leaflet/Leaflet.draw#draw-handler-options

                這篇關于如何在不使用 Leaflet.draw UI 的情況下單擊一個按鈕并開始一個新的多邊形的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                Check if a polygon point is inside another in leaflet(檢查一個多邊形點是否在傳單中的另一個內部)
                Changing leaflet markercluster icon color, inheriting the rest of the default CSS properties(更改傳單標記群集圖標顏色,繼承其余默認 CSS 屬性)
                Trigger click on leaflet marker(觸發點擊傳單標記)
                How can I change the default loading tile color in LeafletJS?(如何更改 LeafletJS 中的默認加載磁貼顏色?)
                Add external geojson to leaflet layer(將外部geojson添加到傳單層)
                Adding Leaflet layer control to sidebar(將 Leaflet 圖層控件添加到側邊欄)
                  <tbody id='hH7EY'></tbody>

              1. <small id='hH7EY'></small><noframes id='hH7EY'>

                <tfoot id='hH7EY'></tfoot><legend id='hH7EY'><style id='hH7EY'><dir id='hH7EY'><q id='hH7EY'></q></dir></style></legend>
                • <bdo id='hH7EY'></bdo><ul id='hH7EY'></ul>

                          <i id='hH7EY'><tr id='hH7EY'><dt id='hH7EY'><q id='hH7EY'><span id='hH7EY'><b id='hH7EY'><form id='hH7EY'><ins id='hH7EY'></ins><ul id='hH7EY'></ul><sub id='hH7EY'></sub></form><legend id='hH7EY'></legend><bdo id='hH7EY'><pre id='hH7EY'><center id='hH7EY'></center></pre></bdo></b><th id='hH7EY'></th></span></q></dt></tr></i><div class="vn7zhjt" id='hH7EY'><tfoot id='hH7EY'></tfoot><dl id='hH7EY'><fieldset id='hH7EY'></fieldset></dl></div>
                          主站蜘蛛池模板: 淋巴细胞分离液_口腔医疗器材-精欣华医疗器械(无锡)有限公司 | LOGO设计_品牌设计_VI设计 - 特创易 | 宿松新闻网 宿松网|宿松在线|宿松门户|安徽宿松(直管县)|宿松新闻综合网站|宿松官方新闻发布 | 危废处理系统,水泥厂DCS集散控制系统,石灰窑设备自动化控制系统-淄博正展工控设备 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 欧版反击式破碎机-欧版反击破-矿山石料破碎生产线-青州奥凯诺机械 | 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 春腾云财 - 为企业提供专业财税咨询、代理记账服务 | 美国PARKER齿轮泵,美国PARKER柱塞泵,美国PARKER叶片泵,美国PARKER电磁阀,美国PARKER比例阀-上海维特锐实业发展有限公司二部 | 流程管理|流程管理软件|企业流程管理|微宏科技-AlphaFlow_流程管理系统软件服务商 | 登车桥动力单元-非标液压泵站-非标液压系统-深圳市三好科技有限公司 | 标准件-非标紧固件-不锈钢螺栓-非标不锈钢螺丝-非标螺母厂家-三角牙锁紧自攻-南京宝宇标准件有限公司 | 电磁辐射仪-电磁辐射检测仪-pm2.5检测仪-多功能射线检测仪-上海何亦仪器仪表有限公司 | 啤酒设备-小型啤酒设备-啤酒厂设备-济南中酿机械设备有限公司 | 华溶溶出仪-Memmert稳定箱-上海协烁仪器科技有限公司 | 东莞市踏板石餐饮管理有限公司_正宗桂林米粉_正宗桂林米粉加盟_桂林米粉加盟费-东莞市棒子桂林米粉 | 篷房|仓储篷房|铝合金篷房|体育篷房|篷房厂家-华烨建筑科技官网 知名电动蝶阀,电动球阀,气动蝶阀,气动球阀生产厂家|价格透明-【固菲阀门官网】 | 昊宇水工|河北昊宇水工机械工程有限公司| 塑料检查井_双扣聚氯乙烯增强管_双壁波纹管-河南中盈塑料制品有限公司 | 铁艺,仿竹,竹节,护栏,围栏,篱笆,栅栏,栏杆,护栏网,网围栏,厂家 - 河北稳重金属丝网制品有限公司 山东太阳能路灯厂家-庭院灯生产厂家-济南晟启灯饰有限公司 | 口臭的治疗方法,口臭怎么办,怎么除口臭,口臭的原因-口臭治疗网 | 搜木网 - 木业全产业链交易平台,免费搜货、低价买货! | _网名词典_网名大全_qq网名_情侣网名_个性网名 | 智能风向风速仪,风速告警仪,数字温湿仪,综合气象仪(气象五要素)-上海风云气象仪器有限公司 | 涿州网站建设_网站设计_网站制作_做网站_固安良言多米网络公司 | 超声波清洗机_细胞破碎仪_实验室超声仪器_恒温水浴-广东洁盟深那仪器 | 沈阳建筑设计公司_加固改造设计_厂房设计_设计资质加盟【金辉设计】 | 光栅尺_Magnescale探规_磁栅尺_笔式位移传感器_苏州德美达 | 精雕机-火花机-精雕机 cnc-高速精雕机-电火花机-广东鼎拓机械科技有限公司 | 金属波纹补偿器厂家_不锈钢膨胀节价格_非金属伸缩节定制-庆达补偿器 | 检验科改造施工_DSA手术室净化_导管室装修_成都特殊科室建设厂家_医疗净化工程公司_四川华锐 | 成人纸尿裤,成人尿不湿,成人护理垫-山东康舜日用品有限公司 | 理化生实验室设备,吊装实验室设备,顶装实验室设备,实验室成套设备厂家,校园功能室设备,智慧书法教室方案 - 东莞市惠森教学设备有限公司 | 制氮设备_PSA制氮机_激光切割制氮机_氮气机生产厂家-苏州西斯气体设备有限公司 | 馋嘴餐饮网_餐饮加盟店火爆好项目_餐饮连锁品牌加盟指南创业平台 | 上海软件开发-上海软件公司-软件外包-企业软件定制开发公司-咏熠科技 | 深圳3D打印服务-3D打印加工-手板模型加工厂-悟空打印坊 | 南京技嘉环保科技有限公司-杀菌除臭剂|污水|垃圾|厕所|橡胶厂|化工厂|铸造厂除臭剂 | 选矿设备-新型重选设备-金属矿尾矿重选-青州冠诚重工机械有限公司 | 石家庄救护车出租_重症转院_跨省跨境医疗转送_活动赛事医疗保障_康复出院_放弃治疗_腾康26年医疗护送转诊团队 |