我使用带有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]
答案 0 :(得分:1)
OpenLayer正在开发不同的位置格式,如EPSG:3857,EPSG:4285等。 有一些变换/投影api enter link description here
使用此API并将您的位置转换为所需的格式
答案 1 :(得分:1)
如果您只想找到转换坐标的方法,可以使用ol.proj.transform(coordinate, source, destination)
使用此
ol.proj.transform([8732987.679175382, 1920132.5190330548], 'EPSG:3857', 'EPSG:4326')
将此作为输出
[78.44976308230713, 16.99405070970775]
另请注意,您可以在线要素上使用getFirstCoordinate
和getLastCoordinate
方法来获取第一个和最后一个坐标。