OpenLayers setCenter将不能正常工作

OpenLayers setCenter will not function properly

本文关键字:工作 常工作 setCenter 不能 OpenLayers      更新时间:2023-09-26

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

    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());
    }

我不太确定它为什么这样做。有人能指出我遗漏了什么吗?

map.zoomToMaxExtent();

是你的冒犯行,注释掉它,如果你放大得足够大,你总是会在中心

结束

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