OpenLayers setCenter将无法正常运行

时间:2013-04-04 14:53:32

标签: javascript openlayers

我正在使用OpenLayers作为地图,当我加载它时,无论我将setCenter更改为什么,它总是以0,0为中心。

    var map, baseLayer;
    var options = {numZoomLevels: 7, isBaseLayer: true,};
    function collegeLaneInit()
    {

        map = new OpenLayers.Map('map');            
        baseLayer = new OpenLayers.Layer.Image("College Lane","college-lane-large.png", 
        new OpenLayers.Bounds(-1000, -1000, 1000, 1000),
        new OpenLayers.Size(2000,2000), options);
        map.addLayer(baseLayer);

        var center = new OpenLayers.LonLat(500,500);
        map.setCenter(center ,1);  

        map.addControl(new OpenLayers.Control.LayerSwitcher());
        map.zoomToMaxExtent();
        map.addControl(new OpenLayers.Control.MousePosition());

    }

我不确定为什么会这样做。有人能发现我遗失的东西吗?

2 个答案:

答案 0 :(得分:2)

map.zoomToMaxExtent();

是您的违规行,请将其评论出来,如果缩小得足够远,您将总是在中心

答案 1 :(得分:0)

您应该提供有效的纬度和经度值(Lon in [-180:180]; Lat in [-90:90]),因为openlayers中的默认投影是EPSG:4326reference)。 此外,您需要baselayer才能使其正常工作,或者从地图服务器加载您的图像。(您设置为基础层)。您的图片是否已进行地理配准?