我正在使用带有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]
发布于 2018-06-19 14:19:27
如果您只是在寻找转换坐标的方法,则可以使用ol.proj.transform(coordinate, source, destination)
使用这个
ol.proj.transform([8732987.679175382, 1920132.5190330548], 'EPSG:3857', 'EPSG:4326')
将把这个作为输出。
[78.44976308230713, 16.99405070970775]
还要注意,您可以在line要素上使用getFirstCoordinate
和getLastCoordinate
方法来获取第一个和最后一个坐标。
发布于 2018-06-19 13:26:08
OpenLayer正在处理不同的位置格式,如EPSG: 3857、EPSG: 4285等。有一些转换/投影应用编程接口enter link description here
使用此api并将您的位置转换为所需格式
https://stackoverflow.com/questions/50921069
复制相似问题