如何将地图的当前视口作为几何,边界框或wkt从OpenLayers中获取?

时间:2012-01-24 14:25:10

标签: javascript openlayers latitude-longitude

我试图找到一些提示,我应该搜索这个主题,但我找不到任何东西 - 我花了很多时间来研究这个问题。

我还试图从OpenLayers地图中获取当前显示的视口中的当前坐标,以仅添加当前视口的当前边界框中的这些矢量。

3 个答案:

答案 0 :(得分:19)

对于OpenLayers 2:

Map.getExtent()

...将返回一个Bounds,您可以使用它来以多种方式获取纬度/经度坐标:http://dev.openlayers.org/apidocs/files/OpenLayers/BaseTypes/Bounds-js.html#OpenLayers.Bounds

理想情况下,您将向量转换为Geometry对象,并使用Bounds.intersectBounds()检查它们是否与Map.getExtent()一起检查它们是否在当前视口中。

对于OpenLayers 3:

ol.Map.getView().calculateExtent(map.getSize())

...将返回一个坐标数组,表示范围的边界框。

答案 1 :(得分:0)

对于openlayers 5.3。

olmap.getView().calculateExtent(olmap.getSize());

答案 2 :(得分:0)

基于此处的答案,但如果您希望结果为经纬度坐标。

function getBounds() {
  const extent = olMap.getView().calculateExtent(olMap.getSize())
  return transformExtent(extent, 'EPSG:3857', 'EPSG:4326')
}