gmap-ol
Version:
A set of helper classes for working with openLayers.
30 lines (27 loc) • 1.07 kB
JavaScript
/*
* @Author: xuhongling
* @Date: 2022-09-06 14:48:35
* @Last Modified by: xuhongling
* @Last Modified time: 2024-04-18 15:41:51
*/
import { getLayerByName } from '../LayerUtil/LayerUtil';
function zoomToFitExtent(olMap, options) {
const views = olMap.getView();
const layer = getLayerByName(olMap, options.layerName);
if (!layer) return;
const features = layer.getSource().getFeatures();
for (let i = 0; i < features.length; i++) {
let feature = features[i];
let NAME = feature.get('NAME');
let name = options.name ? options.name : '';
let fitPadding = options.padding ? options.padding : [50, 50, 50, 50];
let fitMaxZoom = options.maxZoom ? options.maxZoom : 18;
const polygon0 = features[0].getGeometry();
views.fit(polygon0, { padding: fitPadding, maxZoom: fitMaxZoom, duration: 800 });
if (NAME === name) {
const polygon = feature.getGeometry();
views.fit(polygon, { padding: fitPadding, maxZoom: fitMaxZoom, duration: 800 });
}
}
}
export default zoomToFitExtent;