OpenLayers在添加功能之前适合

时间:2018-05-23 10:08:04

标签: javascript openlayers

问题:打开图层适合地图,只有在添加功能(视觉上)之后才能避免这种情况?

我这样做

第1步 - 创建功能

myMap.groupBy{it.value}.collectEntries{key, value -> [(key): value.keySet()]}

第2步 - 将它们添加到源

var feature = new ol.Feature({...});

第3步 - 并且像这样拟合

source.addFeature(feature);

但在视觉上显示步骤3 - >步骤1 - >第2步

我想做第1步 - >步骤2 - >第3步(按代码顺序)

2 个答案:

答案 0 :(得分:1)

实现此目的的最佳方法是创建没有源的图层,并在view.fit之后设置图层的来源:

const layer = new ol.layer.Vector();
const source = new ol.source.Vector();
source.addFeature(feature);
view.fit(source.getExtent());
layer.setSource(source);

答案 1 :(得分:1)

您可以尝试将视图放在addfeature

source.on('addfeature', function() {
    view.fit(source.getExtent());
});