我正在尝试进行一些琐碎的活动:使地图适合所有图层的范围。
但我被困住了:
这是我的代码:
import { createEmpty, getWidth, getHeight, extend } from 'ol/extent.js';
function centraTuttiLayer(map)
{
var extent = createEmpty();
//modifico l'estensione del layer per contenere tutto
map.getLayers().forEach(function(l) {
extend(extent, l.getExtent());
});
map.getView().fit(extent);
}
我总是将getExtent()设为空。 我也尝试过l.getSource()和getExtent(),但是没有运气。 我在做什么错了?
谢谢 马西莫
答案 0 :(得分:0)
您无法获得图层范围。用源来做
map.getLayers().forEach(function(l) {
let source = l.getSource();
if(!(source instanceof OSM)){
extend(extent, source.getExtent());
}
});
map.getView().fit(extent,{
maxZoom: 15,
padding: [50,50,50,50]
});