如何获得画布从tileLayer传单1.0
How to get canvas from tileLayer Leaflet 1.0
我使用的是传单。VectorGrid插件绘制通过geojson-vt切片的瓷砖在小册子1.0。
我想添加一个渐变的路径,而绘制。我在stackoverflow上找到了沿路径添加梯度的代码,但它需要一个画布。
我的问题是:如何获得对画布的引用,或其上下文(ctx
)来绘制它?
var tileLayer = L.vectorGrid.slicer(data, {
rendererFactory: L.canvas.tilee,
vectorTileLayerStyles: {
sliced: function(properties, zoom) {
var endColor=70;
// var grad = ctx.createLinearGradient(begin[0], begin[1], end[0], end[1]);
// grad.addColorStop(0, begin[2]);
// grad.addColorStop(1, end[2]);
// ctx.strokeStyle = grad;
return {
stroke: true,
fill: true,
color: endColor < 20? 'red' :
endColor < 50? 'orange' :
endColor < 70? 'yellow' :
endColor < 100? 'green' : 'blue',/
weight: 5,
}
}
}
});
我是Leaflet.VectorGrid的创建者。
答案是:你不。传单代码的结构方式抽象了画布上下文。这种设计的目标是让用户专注于几何图形而不是呈现,并通过双重SVG支持提供交叉兼容性。不建议使用仅支持svg或画布的功能。我的问题是:如何获得对画布的引用,或其上下文(ctx)来绘制它?
此外,帆布在传单。VectorGrid继承自L.Canvas
。请注意,香草L.Canvas
的不有沿线渐变的支持,所以你应该专注于使用一个插件,允许在折线上的渐变,然后才担心如何使其工作与矢量瓷砖。
这将涉及到理解这两个插件如何猴式修补传单类,以什么顺序,以及如何处理类继承。
一旦您理解了这一点,您将不得不担心如何从在切片块中实例化的L.GeoJSON
中实例化L.Hotline
s。
TL;DR:阅读并理解传单的代码。矢量网格和传单热线
相关文章:
- 显示每个国家的传单地图
- 传单中如何在更改基层时启用/禁用覆盖层
- 传单js虚构的地图
- 应用“;矢量“;指向传单中的Point或LatLng
- 传单缩放控制位置错误
- 点击(右键点击)使用传单地图库获取图像覆盖的像素坐标
- 如何使用传单pip插件与纯GeoJSON数据
- 使用AJAX调用将GeoJSON数据拉入传单
- 传单Markercluster showCoverageOnHover触发错误
- 如何根据需要在传单上叠加光栅图像
- 从传单数据到GeoJSON的多边形
- 如何缩放地图框传单中的标记单击事件
- 使用传单在地图框上显示纬度和经度
- 如何在传单.js中显示每个choropleth弹出窗口的唯一名称和URL
- 如何将超链接添加到通过传单创建的传单多段线.Draw
- 传单圆圈绘制/编辑问题
- 在传单标记弹出窗口中缓存Busting
- 在传单上绘制GeoJSON
- 传单如何清除标记上的setTimeout
- 如何获得画布从tileLayer传单1.0