一.属性:
let view = new View({
center: transform(:[12679405.484039215, 2549477.9604217946],'EPSG:4326', 'EPSG:3857'),
extent:[12679405.484039215, 2549477.9604217946, 12681608.190268839, 2550532.276580661],
projection:'EPSG:3857',
zoom: 17,
minZoom: 17,
maxZoom: 20,
rotation: 0.32,
resolution:10
});
-center:表示地图视图的中心位置
-extent:地图可是范围
-projection:规定地图使用坐标系
-zoom:当前显示层级
-minZoom:可缩放最小层级
-maxZoom:可缩放最大层级
-rotation: 地图的旋转角度;
-resolution:地图的分辨率,单位并不是普通的单位面积的像素,而是单位像素表示的距离单位,比如 米/像素;
二.方法
1.旋转:rotate(rotation , opt_anchor )
-rotation 旋转角度数,为数值,单位不是度,180度对应数值PI,且正数表示顺时针旋转
-opt_anchor 地图将围绕 opt_anchor 旋转(可选)
let view = map.getView();
view.rotate(Math.PI /3);
2.移动:setCenter(center)
-center 接受一个参数:中心坐标
let view = map.getView();
let mapCenter = view.getCenter();
// 让地图中心的x值增加,即可使得地图向左移动
mapCenter[0] += 50000;
view.setCenter(mapCenter);
map.render();
// 让地图中心的x值减少,即可使得地图向右移动
mapCenter[0] -= 50000;
view.setCenter(mapCenter);
map.render();
// 让地图中心的y值减少,即可使得地图向上移动
mapCenter[1] -= 50000;
view.setCenter(mapCenter);
map.render();
// 让地图中心的y值增加,即可使得地图向下移动
mapCenter[1] += 50000;
view.setCenter(mapCenter);
map.render();
3.缩放1: setZoom(zoom)
-zoom 接受一个数值参数,将地图的缩放级别设置为相应的数值代表的缩放级别,数值范围minZoom<=zoom<=maxZoom。
let view = map.getView();
// 让地图的zoom增加1,从而实现地图放大
view.setZoom(view.getZoom() + 1);
// 让地图的zoom减小1,从而实现地图缩小
view.setZoom(view.getZoom() - 1);
4.缩放2:fitExtent(extent, size)
-extent:extent类型是 ol.Extent – [left, bottom, right, top]
-size:由map.getSize()获取
功能:将地图的view 缩放到 extent 区域可见的合适尺度
let view = map.getView();
view.fitExtent(ol.proj.transformExtent([12679405.484039215, 2549477.9604217946, 12681608.190268839, 2550532.276580661],'EPSG:4326', 'EPSG:3857'),map.getSize());
5.缩放3:fitGeometry(geometry, size, opt_options)
-geometry:地理要素 feature.getGeometry()
-size:地图尺寸
-opt_options:可选参数
根据给定的地理要素,将 view 缩放到适合地理要素显示的尺寸
let view = map.getView();
let feature = vectorLayer.getSource().getFeatures()[1];
//vectorLayer.getSource().getFeatures()获取feature 集合,取其中一个feature
let polygon = feature.getGeometry();
view.fitGeometry(polygon,map.getSize());
6.获取层级:getZoom()
let view = map.getView();
let zoom= view .getZoom();
7.获取中心坐标:getCenter()
let view = map.getView();
let center= view .getCenter();
8.获取投影坐标系统:getCode()
let view = map.getView();
let code = view.getProjection().getCode();
9.设置分辨率:setResolution()
let view = map.getView();
view.setResolution(10);
10.获取分辨率:getResolution()
let view = map.getView();
let resolution= view.getResolution();
11.获取旋转的角度:getRotation()
let view = map.getView();
let rotation= view.getRotation();