ho-J 2022-12-27 16:55 采纳率: 50%
浏览 28
已结题

Leaflet 有根据经纬度测面积的API吗?

我使用了new L.GeometryUtil.geodesicArea(polygon)
但是返回的只是一个空对象
计算不出面积
请问 "leaflet": "^1.7.1",有测面积的api的吗?
我看官网文档,并没有找到

    formatArea(polygon) {
      console.log(polygon, 'polygon')
      // L.GeometryUtil.geodesicArea(),返回number类型的数据,单位是平方米,这里做了一下转化
      let seeArea = new L.GeometryUtil.geodesicArea(polygon)
      console.log(seeArea, 'sss')
      let area = (seeArea / 10e5).toFixed(2) + 'k㎡'
      return area
    },

  • 写回答

1条回答 默认 最新

  • heart_6662 2022-12-27 20:35
    关注

    望采纳!点击该回答右侧的“采纳”按钮即可采纳!!!
    有的!!Leaflet 中有一个插件叫做 Leaflet.GeometryUtil,它可以用来计算几何图形的面积。你可以使用以下代码来计算多边形的面积:

    var polygon = L.polygon(latlngs);
    var area = L.GeometryUtil.geodesicArea(polygon);
    
    

    其中,latlngs 是一个包含多边形各个顶点经纬度的数组,例如:

    var latlngs = [
      [45.51, -122.68],
      [37.77, -122.43],
      [34.04, -118.2]
    ];
    
    

    需要注意的是,Leaflet.GeometryUtil.geodesicArea() 返回的是多边形的球面面积,也就是将地球当成一个完美的球体来计算的结果。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月20日
  • 已采纳回答 9月12日
  • 创建了问题 12月27日