我有一张带有 tileLayer 和标记的 Leaflet 地图。我想添加一个图像叠加层来为瓷砖添加一些效果和样式。
L.imageOverlay 很好,但它需要边界,而我想将图像锚定到渲染地图的绝对像素。例如,具有向缩放级别连续的效果。
应该可以通过每次获取范围并重新定义图层的边界来做到这一点,但这很荒谬,因为这些需要在内部转换为绝对值。尽管如此,我还是找不到通过阅读 API 的方法。
您可以在地图顶部成像框架、褪色等内容。
我有一张带有 tileLayer 和标记的 Leaflet 地图。我想添加一个图像叠加层来为瓷砖添加一些效果和样式。
L.imageOverlay 很好,但它需要边界,而我想将图像锚定到渲染地图的绝对像素。例如,具有向缩放级别连续的效果。
应该可以通过每次获取范围并重新定义图层的边界来做到这一点,但这很荒谬,因为这些需要在内部转换为绝对值。尽管如此,我还是找不到通过阅读 API 的方法。
您可以在地图顶部成像框架、褪色等内容。
You could use a control and a div to manipulate the image. Not sure if this helps.
var legend2 = L.control({position: 'topleft'});
legend2.onAdd = function (map) {
var div = L.DomUtil.create('div', 'info legend2');
div.innerHTML = '<img src="https://upload.wikimedia.org/wikipedia/commons/4/47/PNG_transparency_demonstration_1.png" style="transform: matrix3d(-0.509677, 0.655299, 0, -0.000417152, 0.597349, 0.564009, 0, 0.000111701, 0, 0, 1, 0, 0, 0, 0, 1); ">';
return div;
};
legend2.addTo(map);
做一些阅读作为添加水印对我们很有用。Leaflet.spin.js 调用的核心 Spin.js 库的介绍提到了这一点:
spin() 方法创建必要的 HTML 元素并启动动画。如果将目标元素作为参数传递,则微调器将作为第一个子元素添加并水平和垂直居中。
因此,当 this._spinner = new Spinner().spin(this._container);
为正在加载的图层调用时,图层大小以像素为单位确定。它固定在 DOM 中,而不是传单层中。