2011-09-15 64 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显示其地图的方式。 我见过很多演示,它们都像上面那样。