我使用OpenLayers3和OSM作为背景地图。我在点击地图时检索坐标。但是,由于某些原因我不明白,返回的坐标与它们应该是不同的。 crs是EPSG:3857,返回的坐标例如是:
[149320862354.13303, 7149613.877682245]
但他们应该看起来像这样:
[1347655.049747, 7147342.608955]
我不知道他们为什么会这样回来。我的代码或配置中没有更改任何内容。
map.on('singleclick', function (e) {
var coordinates = map.getEventCoordinate(e.originalEvent);
console.log(coordinates);
}
任何想法导致了什么?
编辑:
我已将地图对象记录到控制台:
projection_: ol.proj.EPSG3857_
revision_: 0
values_: Object
center: Array[2]
0: 149320863424.25146
1: 7177589.830034621
length: 2
__proto__: Array[0]
resolution: 152.8740565703525
rotation: 0
正如您所看到的,中心的坐标(尤其是中心[0])是错误的。我想这个问题可能是由创建地图引起的。
var map = new ol.Map({
layers: [
gnMap.getLayersFromConfig() //MapQuest, OSM, Bing
],
renderer: 'canvas',
view: new ol.View({
center: [0, 0],
projection: 'EPSG:3857',
zoom: 2
})
});
但是我无法弄清楚为什么要创建或返回错误。