添加功能之前的 OpenLayers 拟合
OpenLayers fitting before add features
问题: 开放层适合地图,只有在添加特征之后(视觉上),我该如何避免这种情况?
我正在做这个
第 1 步 - 创建特征
var feature = new ol.Feature({...});
第 2 步 - 将它们添加到源
source.addFeature(feature);
第 3 步 - 像这样拟合
view.fit(source.getExtent(), { duration: 1000 });
但视觉上显示的是第 3 步 -> 第 1 步 -> 第 2 步
我想执行第 1 步 -> 第 2 步 -> 第 3 步(按代码顺序)
最好的实现方式是创建没有源的层,在view.fit
之后设置层的源:
const layer = new ol.layer.Vector();
const source = new ol.source.Vector();
source.addFeature(feature);
view.fit(source.getExtent());
layer.setSource(source);
您可以尝试在 addfeature
上调整视图
source.on('addfeature', function() {
view.fit(source.getExtent());
});
问题: 开放层适合地图,只有在添加特征之后(视觉上),我该如何避免这种情况?
我正在做这个
第 1 步 - 创建特征
var feature = new ol.Feature({...});
第 2 步 - 将它们添加到源
source.addFeature(feature);
第 3 步 - 像这样拟合
view.fit(source.getExtent(), { duration: 1000 });
但视觉上显示的是第 3 步 -> 第 1 步 -> 第 2 步
我想执行第 1 步 -> 第 2 步 -> 第 3 步(按代码顺序)
最好的实现方式是创建没有源的层,在view.fit
之后设置层的源:
const layer = new ol.layer.Vector();
const source = new ol.source.Vector();
source.addFeature(feature);
view.fit(source.getExtent());
layer.setSource(source);
您可以尝试在 addfeature
source.on('addfeature', function() {
view.fit(source.getExtent());
});