首页 / 浏览问题 / WebGIS / 问题详情
leaflet 绘制圆 实际在地图中为椭圆
13EXP 2023年04月24日

leaflet 绘制圆 实际在地图中为椭圆

1个回答

你好,这个是因为4326为84地理坐标系.纬度离赤道越远圆变形越大,离赤道越近变形越小。绘制出来的圆有变形是正确的结果。你可以查看到以下结果,一个是在海南一个是北京,绘制出来的圆都是有差异的

3,755EXP 2023年04月24日
有什么办法解决这种坐标系导致的图形变形问题呢 在不改变坐标系的情况下

可以考虑根据半径和中心点去构造polygon类型的圆

var radius = 2;
    //点集
    var parts = [];
    //计算圆的边缘所有点
    for (var i = 0; i < 360; i++) {
    var radians = (i + 1) * Math.PI / 180;
    var circlePoint = [Math.cos(radians) * radius + 34, Math.sin(radians) * radius + 108];
    parts[i] = circlePoint;
    }
    var polygon1 = L.polygon(parts, {
    color: 'green'
    }).addTo(map);
</script>

...