我使用绘制/修改/翻译交互来允许用户绘制特征。但是当用户将一个点拖动到地图之外时,我希望地图能够随之移动。
目前我使用的是 6.15 版本,但找不到任何内置方法来允许这样做。可以吗?
你可以这样做:
const dragInteraction = new Translate();
dragInteraction.on('translating', (event) => {
const features = event.features.getArray();
const featureExtents = features.map(x => x.getGeometry()?.getExtent());
let boundingFeatureExtent = createEmpty();
for (const extent of featureExtents) {
if (!extent) {
continue;
}
extend(boundingFeatureExtent, extent)
}
const mapView = map.getView();
const viewExtent = mapView.calculateExtent();
if (!containsExtent(viewExtent, boundingFeatureExtent)) {
mapView.fit(extend(viewExtent, boundingFeatureExtent));
}
})