답변:
extent
View 객체에서 정의 하면됩니다. 예 :
var view = new ol.View({
...
extent: [minx,miny,maxx,maxy]
...
});
var map = new ol.Map({
...
view: view,
...
});
extent
적절한 문서화 된 기능이되었습니다 : openlayers.org/en/latest/apidoc/module-ol_View-View.html (작성 당시 "최신"= v5.3.0)
다른 옵션은 다음과 같습니다.
...
var map = new ol.Map({
layers: [...],
overlays: [...],
target: document.getElementById('map'),
view: new ol.View({
center: ol.proj.transform([minx,miny,maxx,maxy],
'EPSG:4326', 'EPSG:3857'),
zoom: ...,
maxZoom: ...,
minZoom: ...,
extent: ol.proj.transform([minx-n,miny-n,maxx+n,maxy+n],
'EPSG:4326', 'EPSG:3857')
})
});
...
Ragnagord가 이미 지적했듯이에를 설정해야 extent
합니다 ol.view
.
가장 쉬운 방법을 참조하려는 것에 따라 함수를 사용 하여 원하는 투영 ( ol.proj.Projection
) 또는 레이어 (모든 클래스) 에서 직접 범위를 얻는 ol.layer
것이 getExtent()
있습니다. EPSG : 3857의 경우 다음과 같이 작동합니다.
var map = new ol.Map({
...
view: new ol.View({
...
extent: ol.proj.get("EPSG:3857").getExtent()
})
});
WGS84와 Spherical Mercator 사이에지도 투영법을 고려할 경우 지적해야 할 점이 ol.proj.transformExtent
있습니다. 여기에 답변이 있습니다 . 범위는 다음과 같이 지정됩니다.
var map = new ol.Map({
.
.
.
view: new ol.View({
extent: ol.proj.transformExtent([minx, miny, maxx, maxy], 'EPSG:4326', 'EPSG:3857');
.
.
.
)}
)}