gpt4 book ai didi

javascript - 循环浏览 map 上的 WMS 图层

转载 作者:行者123 更新时间:2023-12-03 03:22:08 25 4
gpt4 key购买 nike

我正在用传单起草一份申请。基本上,我需要添加几个 WMS 层,然后使用定时循环循环遍历它们。这是代码(仍然是草案,我没有测试它),但我缺少“showLayer(i)”的函数。

  var osmUrl = 'http://{s}.tile.osm.org/{z}/{x}/{y}.png',
osm = new L.TileLayer(osmUrl, {maxZoom: 18}),
mymap = new L.Map('map', {layers: [osm], center: new L.LatLng(41.69906, 12.39258), zoom: 5, maxZoom:8});

var optionsArray =['opt1', 'opt2', ...];
var layer = new Array(myoptionsArray.length);

for (i = 0; i < myoptionsArray.length; i++) {
l = L.tileLayer.wms(url, {optionsArray[i]});
layer.push = l
l.addTo(mymap);
}


function myLoop(){
...count on i....
showLayer(i);
timerID = setTimeout(myLoop, 500);
}

myLoop();

function showLayer(i){
?????
}

最佳答案

因为在您的代码中layer(令人困惑的命名!)是一个包含L.TileLayer实例的Array...

function showLayer(i){
layer.forEach(function(l){ l.removeFrom(map); });
layer[i].addTo(map);
}

另外,请注意,正确的语法是 array.push(foo) 而不是 array.push = foo。另请注意,创建具有初始长度的数组可能会使 push() 在末尾添加更多元素,而不是填充数组。

关于javascript - 循环浏览 map 上的 WMS 图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46523782/

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