相机控制
在 OpenLayers 中,是用view
来实现缩放、平移、旋转等操作。下面列出几种控制相机的方法。
setZoom() 方法:设置地图的缩放级别。
const view = map.getView();
view.setZoom(10); // 将地图缩放到缩放级别为 10
setCenter() 方法:设置地图的中心点位置。
const view = map.getView();
const center = [120, 30]; // 设置中心点经纬度为 [120, 30]
view.setCenter(center);
rotate() 方法:旋转地图。
const view = map.getView();
const rotation = Math.PI / 2; // 旋转角度为 90 度
view.rotate(rotation);
animate() 方法:动画效果控制相机。
const view = map.getView();
const duration = 2000; // 动画持续时间为 2 秒
const zoom = 10; // 缩放级别为 10
const center = [120, 30]; // 中心点经纬度为 [120, 30]
view.animate({
zoom: zoom,
center: center,
duration: duration,
});
fit() 方法:根据给定的范围自适应地图视角。
const view = map.getView();
const extent = [110, 20, 130, 40]; // 范围为 [110, 20, 130, 40]
view.fit(extent);
getZoom() 方法:获取当前地图的缩放级别。
const view = map.getView();
const zoom = view.getZoom(); // 获取当前地图的缩放级别
console.log(zoom);
getCenter() 方法:获取当前地图的中心点位置。
const view = map.getView();
const center = view.getCenter(); // 获取当前地图的中心点位置
console.log(center);
getRotation() 方法:获取当前地图的旋转角度。
const view = map.getView();
const rotation = view.getRotation(); // 获取当前地图的旋转角度
console.log(rotation);