说实话,我是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。任何人都可以帮助或指出我正确的方向吗?
答案 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);