一.屬性:
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:規(guī)定地圖使用坐標系
-zoom:當前顯示層級
-minZoom:可縮放最小層級
-maxZoom:可縮放最大層級
-rotation: 地圖的旋轉(zhuǎn)角度;
-resolution:地圖的分辨率蝶防,單位并不是普通的單位面積的像素某宪,而是單位像素表示的距離單位,比如 米/像素潮峦;
二.方法
1.旋轉(zhuǎn):rotate(rotation , opt_anchor )
-rotation 旋轉(zhuǎn)角度數(shù),為數(shù)值,單位不是度,180度對應數(shù)值PI,且正數(shù)表示順時針旋轉(zhuǎn)
-opt_anchor 地圖將圍繞 opt_anchor 旋轉(zhuǎn)(可選)
let view = map.getView();
view.rotate(Math.PI /3);
2.移動:setCenter(center)
-center 接受一個參數(shù):中心坐標
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 接受一個數(shù)值參數(shù)拘悦,將地圖的縮放級別設置為相應的數(shù)值代表的縮放級別,數(shù)值范圍minZoom<=zoom<=maxZoom橱脸。
let view = map.getView();
// 讓地圖的zoom增加1础米,從而實現(xiàn)地圖放大
view.setZoom(view.getZoom() + 1);
// 讓地圖的zoom減小1,從而實現(xiàn)地圖縮小
view.setZoom(view.getZoom() - 1);
4.縮放2:fitExtent(extent, size)
-extent:extent類型是 ol.Extent – [left, bottom, right, top]
-size:由map.getSize()獲取
功能:將地圖的view 縮放到 extent 區(qū)域可見的合適尺度
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:可選參數(shù)
根據(jù)給定的地理要素添诉,將 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.獲取投影坐標系統(tǒng):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.獲取旋轉(zhuǎn)的角度:getRotation()
let view = map.getView();
let rotation= view.getRotation();