Javascript 多色SVG多段线

Javascript 多色SVG多段线,javascript,svg,vector-graphics,leaflet,geojson,Javascript,Svg,Vector Graphics,Leaflet,Geojson,我使用传单在带有javascript的地图上绘制SVG格式的地图数据。我有一组数千个坐标,在其中我绘制了一个传单路径(extends L.Browser.svg) 我想用第三个变量对这行进行颜色编码(因为这是一张地图,比如说,海拔,蓝色表示低,红色表示高,或者类似的东西)。我是SVG新手,但似乎我只能为整个路径设置笔划颜色 例如,我现在所拥有的--线条只是一种颜色(为了简单起见,概念代码被剥离): 有没有比创建数千个路径元素并将它们添加到SVG组(每个元素都有自己的笔划颜色)更好的方法呢?有一种

我使用传单在带有javascript的地图上绘制SVG格式的地图数据。我有一组数千个坐标,在其中我绘制了一个传单路径(extends L.Browser.svg)

我想用第三个变量对这行进行颜色编码(因为这是一张地图,比如说,海拔,蓝色表示低,红色表示高,或者类似的东西)。我是SVG新手,但似乎我只能为整个路径设置笔划颜色

例如,我现在所拥有的--线条只是一种颜色(为了简单起见,概念代码被剥离):


有没有比创建数千个路径元素并将它们添加到SVG组(每个元素都有自己的笔划颜色)更好的方法呢?

有一种方法可以实现这一点,但也需要大量的工作。如果您有一个具有正确颜色编码的完整图像,则可以使用SVG过滤器将该图像与路径合成:即时路径着色。您可能还可以使用SVG掩码来实现相同的效果。如果您没有该图像,那么您可以在SVG中构建一个,但这可能需要类似的工作量

我没有这个形象。我有一个X点、Y点和颜色的数组。这有助于澄清问题吗?我认为最好设置每个路径段的笔划颜色。除了创建路径元素数组(createElement('path'))之外,还有更好的方法吗?我可以访问组或路径的子项吗?据我所知,我在搜索中什么也找不到。我相信只有路径对象作为一个整体才能被设计样式。
// create the SVG group and path element
this._container = this._createElement('g');
this._path = this._createElement('path');
// set the stoke color -- I wish I could make this dynamic per segment!
this._path.setAttribute('stroke', '#00000');

// Not real code, but simplified...generate lots of coordinates for the polyline
var myPath = "M" + p.x + "," + p.y + " L";
points.each(function(item, index){
    poly += item.x + "," + item.y + " ";                    
});

// update
this._path .setAttribute('d', poly);