我在将像素位置从屏幕转换为度数(EPSG4326)时遇到了问题。
根据http://proj4js.org/和谷歌地图,EPSG900913中的经度/纬度值是正确的。
我得到的一些示例值是
EPSG:900913 lon: 2763836.8383036, lat: 8815158.7073107转换后
EPSG:4326 x: 79.18791 y: 24.08555当这些值应该是
EPSG 4326: Y: 24.69090 X: 60.193680知道我做错了什么吗?
以下是我的代码的相关部分。
$mapObj.bind("contextmenu.zoom", function (evt) {
var _px = new OpenLayers.Pixel(evt.pageX, evt.pageY),
_lonlat = _mapObj.getLonLatFromPixel(_px),
_point = new OpenLayers.Geometry.Point(_lonlat.lat, _lonlat.lon);
_point = _point.transform(new OpenLayers.Projection("EPSG:900913"), new OpenLayers.Projection("EPSG:4326"));
});发布于 2011-10-21 19:22:18
..。答案是,我混淆了这一行的后序(&L):
_point = new OpenLayers.Geometry.Point(_lonlat.lat, _lonlat.lon);应该是
_point = new OpenLayers.Geometry.Point(_lonlat.lon, _lonlat.lat);https://stackoverflow.com/questions/7848079
复制相似问题