2011-09-15 98 views
1

我目前的OpenLayers如下所示720度: a wrong map http://i1179.photobucket.com/albums/x384/yoyomyo/Picture2.png的OpenLayers是展示世界各地

它有兩倍多的大洲應該有。

我試圖界限設置爲我的地圖,但是整個地圖只是拒絕渲染:

var map = new OpenLayers.Map('map', {restrictedExtent: new OpenLayers.Bounds(-180, -90, 180, 90)}); 

var layer = new OpenLayers.Layer.OSM("Simple OSM Map"); 

map.addLayers([layer]); 

map.setCenter(
    new OpenLayers.LonLat(-71.147, -42.472).transform(new OpenLayers.Projection("EPSG:4326"),map.getProjectionObject()), 
    12); 

是否有任何地圖大師知道我做錯了什麼?

回答

0

這聽起來像你想設置maxExtent。

http://trac.osgeo.org/openlayers/wiki/SettingZoomLevels

,否則我不知道。 :)

+0

試圖{MAXEXTENT:新OpenLayers.Bounds(-180,-90,180,90)},沒有運氣。我看着openCycleMap。而且他們的地圖也不受限於(-180,-90,180,90)。這是不可能修復OSM的東西嗎? – YoYoMyo

0

這將更容易回答一個例子的工作。我會放大12是相當遙遠。是的,你可以在OSM http://www.openstreetmap.org/

放大,在該網站上,他們使用這些值

var centre = new OpenLayers.LonLat(-0.1, 51.5); 
    var zoom = 5; 

    setMapCenter(centre, zoom); //It calls map.setCenter() 
+0

謝謝。但我的問題更多的是邊界而不是縮放。我試圖在地圖初始化時設置maxExtent,但仍未能限制地圖。 – YoYoMyo

+0

要控制用戶,請使用[restrictedExtent](http://dev.openlayers.org/releases/OpenLayers-2.11/doc/apidocs/files/OpenLayers/Map-js.html#OpenLayers.Map.restrictedExtent) – Drew

+0

要限制縮放,您可能必須將其設置在BaseLayer上,即。 map.baseLayer.restrictedMinZoom = 3; – Drew

0

好吧,我放棄了。我認爲這只是OpenStreetMap顯示其地圖的方式。 我見過很多演示,它們都像上面那樣。