【回顧】上篇花大篇幅講了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中的文檔搬運過來,有了解即可,后期有需要進行查詢。