添加三次贝塞尔曲线到小叶路径

Add cubic bezier curves to Leaflet paths

本文关键字:叶路径 路径 曲线 三次 添加      更新时间:2023-09-26

我使用的是传单1.0 beta版作为平贴图像查看器,所以我不需要任何花哨的坐标转换,GeoJSON等

我希望能够添加立方贝塞尔线叠加,最好是相同的SVG d属性如何工作,因为传单似乎只支持多边形路径(直线)。是否有一个简单的方法来实现这一点(例如,通过扩展Polygon类)?

我已经尝试过直接改变路径的d属性,但是当视图改变时,它们会被重新绘制。
我也尝试过使用turfjs的贝塞尔样条,但显然没有支持我想要的,只是平滑的坐标列表。

我已经创建了一个传单插件来绘制bsamzier曲线。路径数据的格式类似于SVG路径命令,但只支持绝对命令:

var path = L.curve(['M',[50.54136296522163,28.520507812500004],
                    'C',[52.214338608258224,28.564453125000004],
                        [48.45835188280866,33.57421875000001],
                        [50.680797145321655,33.83789062500001],
                    'V',[48.40003249610685],
                    'L',[47.45839225859763,31.201171875],
                        [48.40003249610685,28.564453125000004],'Z'],
                    {color:'red',fill:true}).addTo(map);

你可以使用turf-bezier从任何LineString几何体中创建插值bezier线。

贝塞尔样条@ http://turfjs.org/

在Mapbox.js中,如何平滑折线?