我有一个带有基础层和矢量图层的 OpenLayers 3 地图。
this.topoLayer = new ol.layer.Vector({
source: new ol.source.Vector(),
style: style
});
var baseLayer = new ol.layer.Tile({
source: new ol.source.XYZ({
url: 'http://[…]/{z}/{x}/{y}.png',
crossOrigin: 'null'
})
});
this.map = new ol.Map({
target: 'map',
layers: [baseLayer, this.topoLayer],
view: new ol.View2D({
center: ol.proj.transform([11.38, 48.54], this.options.markerEPSG, this.options.mapEPSG),
zoom: 5,
}),
});
在用户交互时,我向矢量图层添加和删除几个特征。这是添加新功能的函数:
var feature = new ol.Feature({
topo: topo,
selected: false,
geometry: new ol.geom.Point(ol.proj.transform(location, this.options.markerEPSG, this.options.mapEPSG)),
});
this.topoLayer.getSource().addFeatures([feature]);
添加/删除新功能后,我想自动缩放和平移地图以适合我的功能。在旧的 OpenLayers API 中getDataExtent
,矢量图层上有一个函数可以检索显示的所有特征周围的“边界框”。但我想知道如何使用新的 API 来做到这一点。