OpenLayers 6.13 新特性
1 概述
6.13 版本帶來了一些新特性:
- 對于每個圖層對象,你可以使用
layer.getData()方法來獲取它的像素數(shù)據(jù) - 類
ol/style/Text支持了富文本標(biāo)簽,可以在一個標(biāo)簽中用不同的字體、樣式了 - 模塊
ol/proj中,useGeographic()和setUserProjection()方法現(xiàn)在已經(jīng)是官方 API 了,這兩個方法使得地理坐標(biāo)或局部投影坐標(biāo)系的使用更簡單 - 改進(jìn)提升了 WebGL 瓦片和點圖層
- 改善了
ol/Feature的性能,當(dāng)其沒有回調(diào)時避免事件的創(chuàng)建 - 升級 geotiff.js 到第二版,修復(fù)了一些社區(qū)反饋的問題
- 修復(fù)了自動生成的 Typescript 類型
2 細(xì)節(jié)
2.1 新方法 - layer.getData()
柵格圖層(靜態(tài)圖像、影像瓦片、數(shù)據(jù)瓦片)現(xiàn)在都擁有了 layer.getData(pixel) 方法,能返回給定 pixel 處的像素數(shù)據(jù)。返回值取決于圖層的數(shù)據(jù)類型。
例如,GeoTIFF 返回的是 Float32Array,即每個波段一個值;而對于 PNG 靜態(tài)圖片渲染的瓦片圖層,則返回代表了 RGBA 值的 Uint8ClampedArray 數(shù)組。
如果你之前使用的是 map.forEachLayerAtPixel() 方法,那么你就應(yīng)該用這個新的方法作為替代。舊的這個方法是從多個圖層取值并合成一個變量返回的,并且僅限于 RGBA 數(shù)值。新的方法不僅修改了這個問題,而且性能更好。
2.2 棄用方法 - map.forEachLayerAtPixel()
map.forEachLayerAtPixel() 方法將于下個主要發(fā)行版本中移除。

浙公網(wǎng)安備 33010602011771號