openlayer3之高階標註實現

2022-05-05 10:12:06 字數 931 閱讀 7384

首先看實現效果:

實現要點:

1)樹形標註實現

2)複雜標註樣式定義

3)效率優化

1.樹形標註實現

樹形標註採用字型符號來實現,包括以下幾個步驟

1)載入字型

2)設定標註值與字型對照關係

3)設定textstyle

2.複雜標註樣式定義

1)使用格網來定義每個標註部分所佔單元格跨度

2)將每個部分的標註內容帶入,測量標註內容所佔大小,動態調整格網大小

3)根據標註中心點、旋轉角度等資訊,計算每部分標註位置,最後達到效果

3.效率優化

剛開始的實現思路是所有標註內容都使用canvas繪製,但是這樣效率太低,尤其是在地圖瀏覽期間,如果發生卡頓,體驗特別糟糕。後來我們發現文字部分仍然可以使用textstyle由openlayers來繪製,只需要用canvas繪製分數線即可,繪製之後的分數線構造成style加到style組中返給openlayers,實現**片斷如下:

OpenLayer實現路徑運動

近期由於業務的需求,讓我這從未想過要碰web gis的業餘前端開發者,走了web gis的開發道路。功能需求很簡單,但卻也是讓自己難為了好幾天。如,應該選擇那個gis框架,gis框架的相容性如何,直接ie哪些版,能不能簡單到只有一張就行解決問題,等等。在如此多的技術盲點,以及不確定的因素,我開始了征...

openlayer之載入wfs服務

wfs服務是最靈活,功能最強大的webgis服務。通過向gis伺服器請求,返回向量資料,一般為兩種格式 kml和geojson 當然還有其他格式。然後通過openlayer內建的解析函式,解析資料。但wfs返回的資料沒有樣式,需要自己設定樣式 包括feature和layer樣式 否則使用預設樣式。f...

webgis之Openlayer載入wmts服務

終於除錯通了,太不容易了。wmts服務的部署見前面的文章,這裡主要使用openlayer來載入wmts服務 index.js檔案如下 import ol ol.css import map from ol map import view from ol view import wmtscapabil...