1. 程式人生 > 其它 >OpenLayers 6.13 新特性

OpenLayers 6.13 新特性

目錄

1 概述

6.13 版本帶來了一些新特性:

  • 對於每個圖層物件,你可以使用 layer.getData() 方法來獲取它的畫素資料
  • ol/style/Text 支援了富文字標籤,可以在一個標籤中用不同的字型、樣式了
  • 模組 ol/proj 中,useGeographic()setUserProjection() 方法現在已經是官方 API 了,這兩個方法使得地理座標或區域性投影座標系的使用更簡單
  • 改進提升了 WebGL 瓦片和點圖層
  • 改善了 ol/Feature 的效能,當其沒有回撥時避免事件的建立
  • 升級 geotiff.js 到第二版,修復了一些社群反饋的問題
  • 修復了自動生成的 Typescript 型別

2 細節

2.1 新方法 - layer.getData()

柵格圖層(靜態影象、影像瓦片、資料瓦片)現在都擁有了 layer.getData(pixel) 方法,能返回給定 pixel 處的畫素資料。返回值取決於圖層的資料型別。

例如,GeoTIFF 返回的是 Float32Array,即每個波段一個值;而對於 PNG 靜態圖片渲染的瓦片圖層,則返回代表了 RGBA 值的 Uint8ClampedArray 陣列。

如果你之前使用的是 map.forEachLayerAtPixel() 方法,那麼你就應該用這個新的方法作為替代。舊的這個方法是從多個圖層取值併合成一個變數返回的,並且僅限於 RGBA 數值。新的方法不僅修改了這個問題,而且效能更好。

2.2 棄用方法 - map.forEachLayerAtPixel()

map.forEachLayerAtPixel() 方法將於下個主要發行版本中移除。