-1

我有一张传单地图,用户在其中绘制了一个多边形,这个多边形给了我经纬度点。

我也在使用反应 js。

多边形绘制

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

如何根据从中生成的信息删除我的多边形的面积?

绘制多边形的值

多边形绘制函数


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

1 回答 1

1

我假设找到多边形的面积可以解决您的问题。要找到多边形的区域,请尝试使用鞋带算法。在此处了解有关该算法如何工作的更多信息

// 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;
}
于 2021-01-15T08:01:33.117 回答