Javascript 配置限制范围

Javascript 配置限制范围,javascript,ubuntu-12.04,openlayers,openstreetmap,Javascript,Ubuntu 12.04,Openlayers,Openstreetmap,我正在使用Ubuntu的Mapnik的新安装,这是我的地图配置: map = new OpenLayers.Map ("map", { controls:[ new OpenLayers.Control.Navigation(), new OpenLayers.Control.ScaleLine({geodesic: true})], maxExtent: new Op

我正在使用Ubuntu的Mapnik的新安装,这是我的地图配置:

        map = new OpenLayers.Map ("map", {
            controls:[
                new OpenLayers.Control.Navigation(),
                new OpenLayers.Control.ScaleLine({geodesic: true})],
            maxExtent: new OpenLayers.Bounds(13.543,45.932,13.553,45.939),
            maxResolution: 156543.0339,
            numZoomLevels: 19,
            units: 'm',
            projection: new OpenLayers.Projection("EPSG:900913"),
            displayProjection: new OpenLayers.Projection("EPSG:4326")
        } );
此配置工作正常(即使我不确定它是否使用maxExtent)。如果我添加
restrictedExtent:newopenlayers.Bounds(13.543,45.932,13.553,45.939)
,则映射作为边界构造函数的参数是
(0,0,0,0)
。 如果没有此选项,我的地图将正确地以我的“LatLon”定义为中心


如何解决此问题?

尝试将边界从EPSG:4326转换为EPSG:3857(与EPSG:900913相同)投影:

顺便说一句,就我个人而言,我已经在前面创建了所有这些投影对象,所以在剩下的代码中,我的所有转换看起来都是这样的

// Init section
var EPSG4326 = new OpenLayers.Projection("EPSG:4326");
var EPSG3857 = new OpenLayers.Projection("EPSG:3857");

// ...
something.transform(EPSG4326, EPSG3857);
// Init section
var EPSG4326 = new OpenLayers.Projection("EPSG:4326");
var EPSG3857 = new OpenLayers.Projection("EPSG:3857");

// ...
something.transform(EPSG4326, EPSG3857);