我正在制作一个基于leafletjs的应用程序,我希望用户能够绘制'地图上的svg图像。为了实现这一点,我正在跟踪mousedown和mouseup事件以定义imageBounds并使用imageOverlay绘制svg图像。
我想要对svg图像进行拉伸,使其完全适合定义的imageBounds,而是缩放以使其适合imageBounds而不会扭曲宽高比。
有没有办法让imageOverlays忽略原始宽高比并拉伸以适合imageBounds?
imageBounds = [southwest, northeast];
_tempShape = L.imageOverlay(_imageUrl, imageBounds);
_tempShape.addTo(_map);
编辑:尝试使用位图图像做同样的事情并且它确实拉伸,因此它接缝成为特定于SVG的东西。
答案 0 :(得分:1)
我明白了。这不是传单问题,而是固有的SVG行为。为了允许SVG在缩放时伸展,我将preserveAspectRatio="none"
属性添加到SVG根节点。
任何寻求有关SVG缩放的更多信息的人:https://css-tricks.com/scale-svg/