到目前為止,Cesium開發(fā)課程的篇幅已經(jīng)學(xué)完四分之三了,大家如果有什么問題可以私信我或者加我微信(個人博客首頁有)進群溝通,有時會比較忙來不及回復(fù)大家,請大家見諒,忙完之后我會盡量回復(fù)大家的,請大家多留言多溝通,共同學(xué)好Cesium,快速實現(xiàn)上層應(yīng)用的功能開發(fā)。
回顧最近學(xué)習的工具篇,我們分成了六個章節(jié),分別學(xué)習了Cesium的組件(微件)重寫、事件應(yīng)用、相機控制、量測工具與調(diào)試面板、與第三方庫的集成,以及源碼編譯打包相關(guān)知識和實戰(zhàn)。
第一講: 針對Cesium自帶的組件homeButton、Geocoder、BaseLayerPicker,我們在不修改源碼的基礎(chǔ)上,而是通過重寫相關(guān)方法的方式,實現(xiàn)了這三個組件功能的覆寫,滿足了實際的業(yè)務(wù)需求。詳情可戳Cesium開發(fā)工具篇 | 01組件重寫
第二講: 主要以鼠標事件、相機事件、場景渲染事件為例,來講解Cesium的事件應(yīng)用。鼠標事件主要是通過實例化類ScreenSpaceEventHandler,并注冊鼠標單擊、雙擊、右擊等操作,來實現(xiàn)相應(yīng)坐標拾取、要素拾取功能,并介紹了直接利用Cesium自帶的selectedEntityChanged事件,直接獲取選中實體的信息。詳情可戳Cesium開發(fā)工具篇 | 02事件應(yīng)用
第三講: 當然,在實際的三維應(yīng)用系統(tǒng)中,相機的飛行定位是必不可少的,而在這一講中,我詳細的介紹了Viewer、Camera類中有關(guān)相機定位的方法和參數(shù)說明,尤其是對相機的heading、pitch、roll、range參數(shù)進行了重點講解,最后,通過一個簡單的示例應(yīng)用,說明了建議采用viewer.flyTo方法的原因。詳情可戳Cesium開發(fā)工具篇 | 03相機控制
第四講: 這一講比較簡單,主要是針對測量工具進行講解,并以量測普通的直線距離、多邊形面積為例,說明了大概的實現(xiàn)思路。同時,也給大家介紹了Cesium自帶的工具CesiumInspector和Cesium3DTilesInspector。詳情可戳Cesium開發(fā)工具篇 | 04量測工具與調(diào)試面板
第五講: 為了增強Cesium的可視化能力,本講主要給大家講解了Cesium如何和Three.js、Echarts、heatmap.js以及空間分析庫Turf.js進行集成,發(fā)揮每個庫的各自優(yōu)勢,達到更好的展示效果。詳情可戳Cesium開發(fā)工具篇 | 05與第三方庫的集成
第六講: 工具篇的最后一講,講解了Cesium是如何打包構(gòu)建,生成庫文件的。有時候,我們可能需要修改Cesium源碼新增或修改一些功能,這個時候就需要我們重新生成庫文件,重新去引用了。這一講,首先我們簡單地介紹了常用的打包工具gulp、webpack和rollup,然后詳細的講解了Cesium打包(執(zhí)行yarn release)過程中都執(zhí)行了哪些命令以及具體做了什么。詳情可戳Cesium開發(fā)工具篇 | 06Cesium源碼編譯打包
Cesium開發(fā)工具篇到此就結(jié)束了,下一講我們就開始進入Cesium開發(fā)高級篇,請大家耐心等待,我們下一講見。