开发者

OpenLayers is showing 720 degree around the globe

My current OpenLayers looks like the following: a wrong map http://i1179.photobucket.com/albums/x384/yoyomyo/Picture2.png

It has twice as many continents as there should be.

I was trying to set Bounds to my map, but the entire map just refuses to render:

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开发者_Go百科).transform( new OpenLayers.Projection("EPSG:4326"),map.getProjectionObject()), 
    12);

Does any Map guru know what I did wrong?


WrapDateLine

Try wrapDateLine:false


It sounds like you want to set maxExtent.

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

Otherwise I have no clue. :)


It would be easier to answer with an example to work off of. I would zoom in 12 is pretty far out. And yes you can zoom in on OSM http://www.openstreetmap.org/

In that site, they use these values

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

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


Okay I give up. I think this is just the way OpenStreetMap displays its map. I have seen many demos and they are all like the one above.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜