OpenLayers показывает 720 градусов по всему миру - PullRequest
1 голос
/ 15 сентября 2011

Мои текущие OpenLayers выглядят следующим образом: неправильная карта http://i1179.photobucket.com/albums/x384/yoyomyo/Picture2.png

У него в два раза больше континентов, чем должно быть.

Я пытался установить границы моей карты,но вся карта просто отказывается отображать:

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 ]

1 голос
/ 14 января 2012

WrapDateLine

Попробуйте wrapDateLine:false

0 голосов
/ 16 сентября 2011

Было бы проще ответить на примере, чтобы отработать.Я бы увеличил 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 голосов
/ 16 сентября 2011

Хорошо, я сдаюсь. Я думаю, что именно так OpenStreetMap отображает свою карту. Я видел много демонстраций, и все они похожи на ту, что выше.

0 голосов
/ 15 сентября 2011

Звучит так, как будто вы хотите установить maxExtent.

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

В противном случае я понятия не имею.:)

...