【发布时间】:2016-04-19 12:26:27
【问题描述】:
当尝试在我的地图上定义坐标时,我会得到不同的结果,这取决于我是硬编码 lon/lat 还是它们来自数据库。
document.title = eventName;
document.getElementById("titleEventName").innerHTML = ol.proj.fromLonLat([5.942060,50.751453]);
document.getElementById("tempEventName").innerHTML = ol.proj.fromLonLat([eventCenterMapLongitude, eventCenterMapLatitude]);
document.getElementById("tempEventName2").innerHTML = "eventCenterMapLongitude = " + eventCenterMapLongitude + ", eventCenterMapLatitude = " + eventCenterMapLatitude;
document.getElementById("tempEventName3").innerHTML = ol.proj.transform([661467.0934630792,-4757336.459308266], 'EPSG:3857', 'EPSG:4326');
在第一行中,我只是通过手动设置坐标来显示坐标。在第二行中,我从数据库中设置的变量中检索它们。在第三行中,我显示了这些变量的值(与硬编码的相同)。在第4行,我重新转换回lat/lon,我看到经度还可以,但是纬度比初始纬度低90°。
这是我屏幕上的输出:
661467.0934630792,6577445.839458974
661467.0934630792,-4757336.459308266
eventCenterMapLongitude = 5.942060, eventCenterMapLatitude = 50.751453
5.942060000000001,-39.24854609999999
这里有什么问题?为什么我在第二行得到 -4757336.459308266 而不是 6577445.839458974?
【问题讨论】: