OpenLayers在全球范围内展示了720度

时间:2011-09-15 18:11:33

标签: javascript map openlayers

我目前的OpenLayers如下所示: a wrong map http://i1179.photobucket.com/albums/x384/yoyomyo/Picture2.png

它的大陆数量应该是应有的两倍。

我试图将Bounds设置为我的地图,但整个地图只是拒绝渲染:

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);

有没有地图大师知道我做错了什么?

4 个答案:

答案 0 :(得分:1)

WrapDateLine

尝试wrapDateLine:false

答案 1 :(得分:0)

听起来你想设置maxExtent。

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

否则我不知道。 :)

答案 2 :(得分: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()

答案 3 :(得分:0)

好吧,我放弃了。我认为这只是OpenStreetMap显示其地图的方式。 我见过很多演示,它们都像上面那样。