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

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

      • <bdo id='cuBRJ'></bdo><ul id='cuBRJ'></ul>

        如何使用 Leaflet.draw 从多边形中获取区域字符串

        时间:2023-08-09
            • <small id='ZOmCJ'></small><noframes id='ZOmCJ'>

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

            • <tfoot id='ZOmCJ'></tfoot>

                <bdo id='ZOmCJ'></bdo><ul id='ZOmCJ'></ul>
                  本文介绍了如何使用 Leaflet.draw 从多边形中获取区域字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                  问题描述

                  我正在尝试获取多边形的面积测量值,以便可以将它们列在地图一侧的表格中,靠近多边形的名称.这是我尝试过但没有成功的方法:

                  I am trying to get the area measurements of polygons so I can list them in a table to the side of the map, next to the name of the polygon. This is what I have tried with no success:

                  $("#polygon").on("click", function (){
                      createPolygon = new L.Draw.Polygon(map, drawControl.options.polygon);
                      createPolygon.enable();
                  }
                  
                  var polygon = new L.featureGroup();
                  
                  map.on('draw:created', function (e) {
                      var type = e.layerType,
                          layer = e.layer;
                      if (type === 'polygon') {
                        polygons.addLayer(layer);
                      }
                      var seeArea = createPolygon._getMeasurementString();
                     console.log(seeArea);  //Returns null
                  }
                  

                  对此的任何帮助将不胜感激!

                  Any help on this would be appreciated!

                  推荐答案

                  您可以访问 Leaflet 提供的几何实用程序库.

                  You can access the geometry utility library provided with Leaflet.

                  var area = L.GeometryUtil.geodesicArea(layer.getLatLngs());
                  

                  在您的示例中,您尝试访问控件本身,这是变量 createPolygon 分配给的内容.相反,您想要获取已绘制图层的区域.

                  In your example, you are trying to access a control itself, which is what the variable createPolygon is assigned to. Instead, you want to take the area of the layer that got drawn.

                  map.on('draw:created', function (e) {
                    var type = e.layerType,
                        layer = e.layer;
                    if (type === 'polygon') {
                      polygons.addLayer(layer);
                      var seeArea = L.GeometryUtil.geodesicArea(layer.getLatLngs());
                      console.log(seeArea);
                    }
                  }
                  

                  确认您获得了该区域后,您只需将其分配给填充地图旁边表格的变量即可.

                  Once you verify you are getting the area, you can just assign it to the variables that populate the table next to the map.

                  注意:面积默认为平方米

                  Note: area will be in squareMeters by default

                  这篇关于如何使用 Leaflet.draw 从多边形中获取区域字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                  上一篇:围绕传单地图中的点旋转多边形 下一篇:使用复选框而不是单选按钮来控制传单层?

                  相关文章

                  最新文章

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

                  3. <tfoot id='arV6F'></tfoot>

                    • <bdo id='arV6F'></bdo><ul id='arV6F'></ul>