2010-08-24 58 views
2

基於樣品,我可以看到他說的線沿線的東西,你可以設置的OpenLayers默認視圖:如何在OpenLayers中設置默認視圖,而不限制邊界?

var bounds = new OpenLayers.Bounds(-125, 25, -65, 50); 
var map = new OpenLayers.Map('map', {restrictedExtent: bounds }); 

然而,這也(顧名思義),限制我能只能在這些界限內導航。我可以縮小並看到這些邊界之外的東西,但是我無法縮放到它們上面,或者滾動到它們。

我試過沒有任何restrictedExtent(或使它成爲整個地圖),但後來我無法讓它專注於我想要的區域。我試着使用:

 map.setCenter(new OpenLayers.LonLat(0,0), 3); 
    console.log(map.getCenter()); 

設定縮放和中心...但它似乎並沒有做任何事情,除了設置變量「中心」,我可以再從map.getCenter閱讀() (如果我沒有設置它,它是空的,如果我確實設置了它,我可以看到它......但地圖本身保持完全擴展,並且它的中心似乎根本沒有改變......)

我使用的地圖層:

OpenLayers.Layer.OSM.Mapnik 

與displayOutsideMaxExtent設置爲true ...我不知所措我真的在這裏。

我的目標是讓世界的一個默認區域放大並進入視野(例如美國),並且觀衆可以選擇默認查看內容。

回答

3

我想我已經知道了。無論出於何種原因,縮放永遠不會改變,但中心顯然是移動(它只是如此縮小,我不知道)。除此之外,我需要改變中心以使用谷歌投影,而且它似乎工作得很好。

我最終什麼事做的是:

var lonlat = new OpenLayers.LonLat(20,37).transform(new OpenLayers.Projection("EPSG:4326"),new OpenLayers.Projection("EPSG:900913")); 
map.setCenter(lonlat); 
map.zoomTo(4); 
相關問題