OpenLayers将坐标调整为0,0

时间:2011-10-19 23:28:48

标签: php javascript javascript-events openlayers

说实话,我是OpenLayers的新手。我有一个WGS84坐标数据库,我已加载到数据库中。我已经通过回应纬度和经度验证了这一点。

map = new OpenLayers.Map("map");
var mapnik = new OpenLayers.Layer.OSM();
map.addLayer(mapnik);
map.setCenter(new OpenLayers.LonLat(<?php echo $lat;?>, <?php echo $lon;?>).transform(
   new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
   new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection
), 4 /*Zoom level*/);

当放入此处时,它会将地图移动到0,0。任何人都可以帮助或指出我正确的方向吗?

1 个答案:

答案 0 :(得分:0)

@Niels的赞扬是正确的 预期OpenLayers LonLat对象(经度,纬度) - 不是(纬度,经度)。

只需交换你的lat和lon的顺序:

map.setCenter(new OpenLayers.LonLat(<?php echo $lon;?>, <?php echo $lat;?>).transform(
    new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
    new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection
), 4);