Cesium實現自定義標籤功能

2021-10-13 12:36:00 字數 2131 閱讀 1796

實現的底層邏輯和方法跟實現popup彈窗功能類似,只需要修改對應的建立的html內容和css樣式,即可定義出更好看的標籤。

實現效果

原始碼labelplot 標籤類

const defaultnamefield =

"label"

;const defaultidfield =

"id"

;const billboardpointdatasourcename =

"labelplot_billboard_point"

/** * 標籤類

*/class

labelplot

let labelplotid = _this.

_getkeyval

(info.properties,defaultidfield);if

(!labelplotid)

_this.id = labelplotid;

_this.ctn =$(

"+ _this.id +

"'>");

$(_this.viewer.container)

.(_this.ctn)

; _this.ctn.

(_this.

_createhtml

(info.properties));

//生成底座小圓點if(

!!info.showbillboardpoint)

try)

}catch(e

)}//關閉當前標籤

close()

}//清除所有的小圓點

static

clearbillboardpointentitycollection()

)}}_render

(geometry)

else */}}

//生成標籤

_createhtml

(properties)

//生成底下的小圓點

_createbillboardpoint

(position)

}let entity =

newcesium.entity

(entityoption);if

(entity && myentitycollection)

return entity;

}_getkeyval

(data,keyname)}}

return keyval;

}_getbillboardpointentitycollection()

else

return myentitycollection;}}

export

default labelplot;

css樣式

.labelplot-container

.labelplot-content

.labelplot-container:before

呼叫示例

let labelplotlist =

;let handler3d =

newcesium.screenspaceeventhandler

(viewer.scene.canvas)

; handler3d.

setinputaction

(function

(click)

, showbillboardpoint:

true})

labelplotlist.

push

(labelplot);}

}}, cesium.screenspaceeventtype.

left_click

)//清除標籤if(

!!labelplotlist && labelplotlist.length))}

labelplotlist =

;

Cesium 結合canvas實現自定義氣泡點

canvas 首先利用canvas動態繪製氣泡 詳細看canvas簡述 固定 let canvas document.queryselector canvas let ctx canvas.getcontext 2d 這兩句 是獲取canvas標籤,獲取畫布 獲取上下文,獲取繪製的工具箱。canva...

Cesium介面自定義設定

二 自定義設定背景 1.css方式 在html頁面中 2.js方式var viewer new cesium.viewer cesiumcontainer 去除logo viewer.cesiumwidget.creditcontainer.style.display none 1.遮蔽天空盒,設定...

spring 自定義標籤實現

參考資料 dubbo對spring自定義標籤的擴充套件的實現 spring官方文件 42.1中,介紹了如何自定義spring標籤,步驟如下 1 編寫乙個xml schema描述您的自定義元素 2 編寫自定義命名空間處理程式實現,實現namespackhandler介面 3 編寫乙個或多個自定義的be...