gpt4 book ai didi

javascript - 缩放 OpenLayers3 map 以覆盖多个矢量图层

转载 作者:行者123 更新时间:2023-11-29 18:12:11 25 4
gpt4 key购买 nike

我有一个 OpenLayers3 map ,由一个 OSM Tile 层和一个或多个矢量图层组成。我可以使用

将 map 缩放到一个图层中
vector.addEventListener("change", function() {
map.getView().fitExtent(vectorSource.getExtent(), map.getSize());
});

这行得通。但是,如果我尝试在添加图层的循环中使用以下内容缩放以覆盖多个图层

vector.addEventListener("change", function () {
if (bounds == null) {
bounds = vectorSource.getExtent();
} else {
bounds = bounds.extend(vectorSource.getExtent());
}
map.getView().fitExtent(bounds, map.getSize());
});

在循环外声明边界,然后单层 map 继续工作。但是,对于不止一层,else block 中的代码给出错误“undefined is not a function”。

根据文档getExtent() returns an extent objectthe extent object has an extend method ,所以我不确定为什么会出现此错误。

最佳答案

在我解决问题时回答自己的问题。我错误地使用了扩展。正确的代码是:

vector.addEventListener("change", function () {
if (bounds == null) {
bounds = vectorSource.getExtent();
} else {
bounds = ol.extent.extend(bounds, vectorSource.getExtent());
}
map.getView().fitExtent(bounds, map.getSize());
});

关于javascript - 缩放 OpenLayers3 map 以覆盖多个矢量图层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26380760/

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