我想知道是否有辦法獲取不是完整圖層的邊界框,而只是在地圖的當前縮放級別中可見的圖層部分?邊界框僅用於圖層的可見部分
所以,我需要獲取屏幕上繪製的圖層的邊界框的屏幕座標。我找不到實現這個目標的方法。
編輯:
不幸的是,這並沒有解決我的問題。這正是我得到最新的一點,在某些情況下它不起作用。由於stackoverflow不允許我上傳圖像,因爲我的名譽,我會嘗試描述:想象一下,我有一條路徑幾乎平行於y軸穿過屏幕,但是在屏幕外部它至少是x軸長。在這種情況下,所提出的解決方案將返回x軸的最小和最大屏幕座標,其中它需要是穿過屏幕的短間隔。在某種程度上,我需要圖層可見部分的邊界框。編輯2: 謝謝大家的回答。我試圖使用「getFeaturesInExtent」函數,但我得到一個錯誤:「Uncaught TypeError:undefined不是函數」。我正在使用最新版本爲3.4.0的OpenLayers。我想我得到這個錯誤,因爲這個函數沒有在這個版本中實現。 我使用的方法如下:
var mapExtent = map.getView().calculateExtent(map.getSize());
var features = result.getSource().getFeaturesInExtent(mapExtent);
爲你建議我什麼樣的解決方案呢? (我試圖使用主版本下載ZIP:https://github.com/openlayers/ol3,但在這種情況下地圖不起作用。) 再次感謝!
我不確定我是否理解正確,但調用['ol.source.Vector#getFeaturesInExtent'](http://openlayers.org/en/master/apidoc/ol.source.Vector.html#getFeaturesInExtent)地圖範圍爲您提供了所有可見的功能。然後你可以用這些功能來計算真實的程度。 – tsauerwein