![](/img/trans.png)
[英]OpenLayers: Automatically transform EPSG 4326 -Coordinates from Text Layer into map`s projection (EPSG:900913)
[英]Spherical Mercator Lat/Lon from OpenLayers, want EPSG:4326 format
我正在尝试从OpenLayer获取经度和纬度的EPSG:4236格式,但是我花了几个小时试图弄清这一点,但我确实没有弄错我在做什么。 我一直在使用球形墨卡托格式。
对于设置,我有以下内容:
var map = new OpenLayers.Map("mapdiv");
map.addLayer(new OpenLayers.Layer.OSM());
var markers = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markers);
这是我的地图中心:
var lonLatCenter = new OpenLayers.LonLat( -73.0, 40.5 )
.transform(
new OpenLayers.Projection("EPSG:4326"),
map.getProjectionObject()
);
var zoom=14;
对于点击事件,我具有以下代码:
map.events.register("click", map, function(e) {
var position = map.getLonLatFromPixel(e.xy);
alert(JSON.stringify(position));
});
当我点击纽约市的肯尼迪国际机场时,我得到以下结果:
{"lon":-8215245.2836805,"lat":4960351.5608374}
我一直在这里阅读信息,但它似乎仅显示了如何从EPSG:4326转换为球形墨卡托。 我们将不胜感激,下面的链接是该文档的链接:
使用地图投影(shark墨卡托)在地图对象返回坐标上单击事件。 您需要像这样将它们转换为纬度
map.events.register("click", map, function(e) {
var position = map.getLonLatFromPixel(e.xy);
position.transform(map.getProjectionObject(), new OpenLayers.Projection('EPSG:4326'));
alert(JSON.stringify(position));
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.