gpt4 book ai didi

javascript - 在 Leaflet API 中添加或删除 ImageOverlay 时的动画

转载 作者:行者123 更新时间:2023-11-28 15:27:07 25 4
gpt4 key购买 nike

我正在尝试在 map 上添加和删除 ImageOverlay 的动画。基本上,TileLayer 有这个 getContainer() 函数,它允许检索与层相对应的 html 元素。然后我可以调用 fadeIn()fadeOut() 函数来为其设置动画,如下所示:

$(tileLayer.getContainer()).fadeOut(5000, function(){
map.removeLayer(tileLayer);
});

我想用我的 ImageOverlay 重现相同的行为,但没有任何函数可以获取图像元素 ( leaflet docs )。有什么办法可以做到这一点吗?

最佳答案

使用可以使用L.ImageOverlay实例的_image属性。它保存对实际图像元素的引用,您可以使用 leaflet-image-layer 类将该元素放在 display: none 上:

样式表:

.leaflet-image-layer {
display: none;
}

Javascript:

var imageUrl = 'http://www.lib.utexas.edu/maps/historical/newark_nj_1922.jpg',
imageBounds = [[40.712216, -74.22655], [40.773941, -74.12544]];

// Fade in
var imageOverlay = L.imageOverlay(imageUrl, imageBounds).addTo(map);
$(imageOverlay._image).fadeIn(5000);

// Fade out
$(imageOverlay._image).fadeOut(5000, function(){
map.removeLayer(imageOverlay);
});

在 Plunker 上的操作:http://plnkr.co/edit/CCbyZh?p=preview

关于javascript - 在 Leaflet API 中添加或删除 ImageOverlay 时的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28612145/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com