OpenLayers學習筆記(九)— 限制地圖顯示范圍


openlayers 3 地圖上限制地圖顯示及拖動范圍,坐標系是4326轉3857,中心經緯度精確到小數點后六位,減少誤差

GitHub:八至

作者:狐狸家的魚

本文鏈接:ol3-限制地圖顯示及拖動范圍

查看extent參數可以知道:

所以可以這樣進行設置范圍:

var view = new ol.View({
       ...
       extent: [minx,miny,maxx,maxy]
       ...
});
var map = new ol.Map({
       ...
       view: view,
       ...
});

並且需要考慮地圖投影,比如在WGS84和球形墨卡托之間,有一個轉換方案:

var map = new ol.Map({
      .
      .
      .
      view: new ol.View({
           extent:  ol.proj.transfromExtent([minx, miny, maxx, maxy], 'EPSG:4326', 'EPSG:3857');
            .
            .
            .
           )}
)}

而當縮放地圖時,顯示的范圍不是我們想要的結果,可以限制縮放層級,這是另一種選擇:

...
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')
                })
           });
...

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM