【回顧】上篇花大篇幅講了ArcGIS Server上的資料服務與部分常用可操作圖層的建立關系,還講了OGC的幾個規範。
本篇回到JsAPI 4.x的新特性——視圖類中來。
在第3篇講過,4.x将視圖從地圖中剝離,這是一個很有意義的切分。
轉載請注明出處,B站/CSDN/知乎/部落格園:@秋意正寒
本系列目錄:https://www.cnblogs.com/onsummer/p/9080204.html
歡迎通路聯合創作的小專欄,有Cesium/ol/lf等更多資源學習:https://xiaozhuanlan.com/gishome
1. 視圖類(View)的2D與3D
View繼承自父類Accessor,其又分兩個主要的視圖——2D的MapView和3D的SceneView。
3.x中,隻有2D的視圖,現在4.x的API中有了3D,再将視圖置于地圖内就顯得繁瑣,不如将可視的操作剝離單獨成類。于是View類就誕生了。
View類的功能是,顯示、渲染Map裡各個圖層的資料及對應的符号。
我們通常需要彈出一個氣泡/視窗(Popup),或者點選什麼地方擷取這個地方的坐标,View類就是解決這些“看”得到的、表面的事情的。
View類如何和Map綁在一塊呢?本篇對API中View及其兩個重要子類進行解讀,有能力的朋友可以直接看API文檔。
2. 屬性簡介(列舉常用屬性)
2.1 公有屬性
- container:可以給html元素的id字元串,也可以傳遞DOM;表示該view要綁定到的html元素
- graphics:視圖上的幾何形狀容器
- map:被綁定的Map對象,即資料部分,見前兩篇部落格
- popup:彈出窗。每個view都自帶一個,如果想删除,設為null即可;如果不為任何圖層綁定popupTemplate,則該view的彈出窗内容與圖層無關。可以自己執行個體化一個Popup執行個體并傳遞給它。
- spatialReference:坐标系
- type:此view的類型,可以用來判斷是2d或者3d視圖
- ui:此view上承載的widget容器
2.2 MapView
2.3 SceneView
3. 方法
3.1 公有方法
- emit():為此view創造事件
- on():給事件添加處理方法
- when():Promise的處理方法
3.2 MapView
3.3 SceneView
4. 事件
因為是視圖對象,能掌控的事件必定很多,在此将API中的文檔搬運過來,有了解即可,後期有需要進行查詢。