是否有一种简单的方法(除了单独获取图层范围并进行计算)对图层进行分组并缩放到最适合在所有分组图层上显示形状的范围?
问问题
1170 次
2 回答
2
解决方案:
bounds = @get('siblingsLayer').getDataExtent()
bounds.extend(@get('vectorLayer').getDataExtent())
bounds.extend(@get('parentLayer').getDataExtent())
@get('map').zoomToExtent(bounds)
于 2014-05-15T17:37:59.153 回答
0
这个对我有用。
代码:
var allLayers = map.getLayers();
var length = allLayers.getLength();
var layerArray = ['Layer1', 'Layer2', ..., 'LayerN'];
var extent = ol.extent.createEmpty();
for (var i = 0; i < length; i++) {
var existingLayer = allLayers.item(i);
for (var j = 0; j < layerArray.length; j++) {
if (existingLayer.get('title') == layerArray[j]) {
ol.extent.extend(extent,existingLayer.getSource().getExtent());
}
}
}
map.getView().fit(extent, map.getSize());
例子:
我添加了两层并指向其中的一层。
调用 API 后,我的视图更新并集中到两个层:
于 2022-02-15T05:30:15.743 回答