ArcGIS API for JavaScript 4.x中的3D部分(2)

来源:互联网 发布:网络串口服务器 编辑:程序博客网 时间:2024/06/05 08:42
(2)ArcGIS API for JavaScript 4.x的3D基础介绍 

        ArcGISAPI for JavaScript 4.x相比3.x版本,4.x中map以2D或3D形式展示,绘图逻辑发生一些变化,Map和Layer不再处理绘图逻辑,取而代之的是Views。Views是一个在4.x中才被引进的内容,视角可以是MapView或者SceneView,map描述基础底图和要素图层,而view是一个窗口展示map。MapView适用于展示2D,SceneView适用于展示3D。

       要注意,在SceneView中分为 global scene(全球场景)和local scene(局部场景),其中全球场景只支持WGS 84和WebMercator地理坐标系,局部场景支持任何投影坐标系。

       1、Views
       使用MapView创建一个2D视角,如下:

var myMap = new Map ({  basemap:"topo" });var view = new MapView({  map: myMap,   container: "viewDiv"  }); 
      使用SceneView创建一个3D视角,如下:

var view = new SceneView({  map: scene  container: "viewDiv"});//在2介绍WebScenevar scene = new WebScene({  portalItem: {    id: "affa021c51944b5694132b2d61fe1057" //esri的PortalItem的id  }});//在3介绍SceneLayersceneLayer = new SceneLayer({url:"http://scene.arcgis.com/arcgis/rest/services/Hosted/Building_Hamburg/SceneServer/layers/0";});scene.add(sceneLayer);
      简单用两张图来表示他们的关系:

       2、WebScene

       在介绍WebScene的使用时,官网给了这样一段代码,实例一个WebScene类,赋予某个portalItem的id值。

var scene = new WebScene({  portalItem: {    id: "affa021c51944b5694132b2d61fe1057" //esri的PortalItem的id  }});var view = new SceneView({  map: scene,    container: "viewDiv"});
       若对图形服务要求不高,官网提供的服务已够用,将需使用的服务add到该scene即可。若想使用自行发布的服务,需借助ArcGIS Portal创建scene,得到一个id值,再在前端创建WebScene使用该id值即可。

        3、SceneLayer

        SceneLayer是在SceneView中加载的图形服务类型,它的实例化与其他图形服务相同,它的主要特点是支持展示3D数据。

var layer = new SceneLayer({url:"http://scene.arcgis.com/arcgis/rest/services/Hosted/Building_Hamburg/SceneServer/layers/0"});










0 0
原创粉丝点击