Mar*_*y.H 11 javascript leaflet
我正在尝试获取多边形的面积测量值,以便我可以将它们列在地图一侧的表格中,旁边是多边形的名称.这是我尝试过没有成功的:
$("#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
}
Run Code Online (Sandbox Code Playgroud)
任何有关这方面的帮助将不胜感激!
The*_*sor 20
您可以访问Leaflet提供的几何实用程序库.
var area = L.GeometryUtil.geodesicArea(layer.getLatLngs());
Run Code Online (Sandbox Code Playgroud)
在您的示例中,您尝试访问控件本身,这是变量createPolygon分配给的控件.相反,您想要获取绘制的图层区域.
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);
}
}
Run Code Online (Sandbox Code Playgroud)
一旦确认获得该区域,就可以将其分配给填充地图旁边的表格的变量.
注意:默认情况下,区域将以squareMeters为单位
| 归档时间: |
|
| 查看次数: |
9045 次 |
| 最近记录: |