从数据库中检索坐标并转换为OSM

时间:2016-04-19 12:26:28

标签: javascript openlayers-3

当我试图在我的地图上定义坐标时,我会得到一个不同的结果,这取决于我是否对lon / lat进行硬编码或是否来自数据库。

2012-07-31   -39.067222
2012-08-01    26.902571
2012-08-02   -17.027333
...
2012-08-29     0.532946
2012-08-30     0.532447
2012-08-31     0.532780
Freq: D, dtype: float64

在第一行中,我只是通过手动设置来显示坐标。在第二行中,我从数据库中设置的变量中检索它们。在第三行中,我显示了这些变量的值(与硬编码变量相同)。在第4行,我重新转换回lat / lon,我看到经度没问题,但是纬度比初始纬度低90°。

以下是我屏幕上的输出:

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');

这里有什么问题?为什么我在第二行而不是6577445.839458974获得-4757336.459308266?

1 个答案:

答案 0 :(得分:0)

看起来您正在使用不同的坐标系。 请参阅Openlayers 3 center maphttp://openlayers.org/en/v3.1.1/apidoc/ol.proj.html