0

我将 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());

    }

我不确定它为什么这样做。谁能发现我遗漏的东西?

4

2 回答 2

2
map.zoomToMaxExtent();

是你的冒犯线,把它注释掉,如果你缩小得足够远,你总是会在中心结束

于 2013-04-04T15:16:45.450 回答
0

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

于 2013-04-04T15:13:19.463 回答