如何获取Open layers中的经纬度

How to get the latitude and longitude in Open layers

我正在使用 React.JS 和开放图层从位置 A 到位置 B 绘制一条线。我想获取位置 A 和位置 B 的经纬度。

绘制完成后我添加了一个监听器。但它给出的坐标如下。如何获取经纬度?

听众:

     draw.on('drawend',function(e){
        console.log("Co Ordinates :",e.feature.getGeometry())
        //console.log("Co Ordinates :",e.feature.getGeometry().getExtent())
        });

控制台:

控制台中打印的范围和平面坐标值如下

extent_:(4) [8732987.679175382, 1920132.5190330548, 8735555.9637923, 1920254.817578509]
flatCoordinates:(4) [8732987.679175382, 1920132.5190330548, 8735555.9637923, 1920254.817578509]

OpenLayer 正在处理不同的位置格式,例如 EPSG:3857、EPSG:4285 等。 还有一些Transform/Projectionapienter link description here

使用此 api 并将您的位置转换为您想要的格式

如果您只是在寻找一种转换坐标的方法,您可以使用 ol.proj.transform(coordinate, source, destination)

使用这个

ol.proj.transform([8732987.679175382, 1920132.5190330548], 'EPSG:3857', 'EPSG:4326')

将此作为输出

[78.44976308230713, 16.99405070970775]

另请注意,您可以在线要素上使用 getFirstCoordinate and getLastCoordinate 方法来获取第一个和最后一个坐标。