如何在数据库值的帮助下在开放街道地图上添加标记



我想在openstreetmap上支付标记,经度和纬度值来自数据库。 但标记显示在错误的位置。 我通过了位置(印度浦那(值,但标记显示在另一个位置(南非(。

window.onload = function GetOSMMap()
{
map                = new OpenLayers.Map("dvMap");
var mapnik         = new OpenLayers.Layer.OSM();
var fromProjection = new OpenLayers.Projection("EPSG:4326");   
var toProjection   = new OpenLayers.Projection("EPSG:900913"); 
var position       = new OpenLayers.LonLat(18.5916189,73.8618545).transform(
fromProjection, toProjection);                                                   
var zoom           = 10;
map.addLayer(mapnik);
map.setCenter(position, zoom );  
var marker = new OpenLayers.Layer.Markers( "Markers" );                                                    
for (i = 0; i < markers.length; i++) {
var data = markers[i]   
var lonLat = new OpenLayers.LonLat( data.lat, data.lng );  
map.addLayer(marker);
marker.addMarker(new OpenLayers.Marker(lonLat));
map.setCenter(lonLat, zoom ); 
}
}

您将纬度值作为经度传递,将经度作为纬度传递。更改参数的顺序,您应该得到正确的结果。

var position       = new OpenLayers.LonLat(73.8618545, 18.5916189).transform(
fromProjection, toProjection);  

最新更新