leaflet画多边形获取中心点

获取多边形中心点

  • 描述
  • js代码
  • 效果

描述

项目要给画出的圆或者多边形的中心添加名称,点击名称触发相应事件,圆的好解决,多边形的在leaflet的api里面没有找到获取图形中心点的方法,记录下解决办法

js代码

    getPolygon(pList) {
      var area = 0;
      var x = 0;
      var y = 0;
      for (var i = 1; i <= pList.length; i++) {
        var lat = pList[i % pList.length][0];
        var lng = pList[i % pList.length][1];
        var nextLat = pList[i - 1][0];
        var nextLng = pList[i - 1][1];
        var temp = (lat * nextLng - lng * nextLat) / 2;
        area += temp;
        x += (temp * (lat + nextLat)) / 3;
        y += (temp * (lng + nextLng)) / 3;
      }
      x = x / area;
      y = y / area;
      return [x, y];
    }

效果

leaflet画多边形获取中心点_第1张图片

详细可参考下面链接:
https://blog.csdn.net/qq_34476727/article/details/82799117

你可能感兴趣的:(前端,#,Vue+Iview)