我是OpenLayers的新手,并且已经遇到了我的第一个问题.我正在尝试转换“正常”坐标,我将其从Google地图复制到OSM,以将地图置于某个区域的中心位置.
现在据我所知,“正常”坐标系EPSG:4326和OSM一个是EPSG:3857或EPSG:900913,这是相同的.所以我的Javascript代码是:
map.setCenter(new OpenLayers.LonLat(53.537460, 9.953227).transform(new OpenLayers.Projection("EPSG:4326"), new OpenLayers.Projection("EPSG:3857")), 5);
但这是一个完全不同的位置.我错过了什么?
解决方法:
Google Maps和OSM显示完全相同的位置.其他一切都很奇怪.
然而,你正在混合lat和lon. OpenLayers.LonLat()接受第一个lon,然后接受名称已经告诉你的lat.但是你首先传递lat然后是lon,这将导致一个完全不同的位置.