Reactjs 从纬度/经度点获取面积

Reactjs 从纬度/经度点获取面积,reactjs,d3.js,leaflet,coords,leaflet-geoman,Reactjs,D3.js,Leaflet,Coords,Leaflet Geoman,我有一张传单地图,用户在上面画了一个多边形,这个多边形给了我横向和纵向的点 我也在用react js 我想知道多边形区域,以便我可以从多边形区域内的黑点获取id。因此,问题是: 我如何删除的面积​​我的多边形根据它生成的信息吗 多边形绘制函数 if (type === 'Polygon') { console.log(layer); var geojson = layer.toGeoJSON(); console.

我有一张传单地图,用户在上面画了一个多边形,这个多边形给了我横向和纵向的点

我也在用react js

我想知道多边形区域,以便我可以从多边形区域内的黑点获取id。因此,问题是:

我如何删除的面积​​我的多边形根据它生成的信息吗

多边形绘制函数


        if (type === 'Polygon') {
          console.log(layer);
          var geojson = layer.toGeoJSON();
          console.log(geojson);
        }

我假设找到多边形的面积可以解决你的问题。要找到多边形的一个区域,请尝试使用鞋带算法。了解有关算法工作原理的更多信息

//鞋带算法
函数多边形区域(坐标){
var总和=0.0;
变量长度=坐标。长度;
如果(长度<3){
回报金额;
}
坐标.forEach(函数(d1,i1){
var i2=(i1+1)%长度;
var d2=坐标[i2];
和+=(d2[1]*d1[0])-(d1[1]*d2[0]);
});
回报总额/2;
}

如中所述,使用TurpJS执行多边形中的点查询。用不同的词来问同样的事情是没有用的,考虑一下编辑问题。这不是我在这里问的问题。我想把这个区域画成多边形。
// shoelace algorithm
function polygonArea(coordinates) {
    var sum = 0.0;
    var length = coordinates.length;
    if (length < 3) {
        return sum;
    }
    coordinates.forEach(function (d1, i1) {
        var i2 = (i1 + 1) % length;
        var d2 = coordinates[i2];
        sum += (d2[1] * d1[0]) - (d1[1] * d2[0]);
    });
    return sum / 2;
}