天天看點

ArcGIS API for JavaScript 入門教程[7] 再講視圖——View的基本屬性

【回顧】上篇花大篇幅講了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。

ArcGIS API for JavaScript 入門教程[7] 再講視圖——View的基本屬性

 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中的文檔搬運過來,有了解即可,後期有需要進行查詢。

繼續閱讀