WebScene

web场景是横跨ArcGIS平台的3D制图的核心元素。它定义了场景的内容、样式、环境和幻灯片,并且可以在多个ArcGIS web和桌面应用程序之间共享。通过场景查看器,可以在ArcGIS Pro和ArcGIS Online中创建、发布和使用Web场景。web场景被保存为JSON文档,可以被用于JavaScript的ArcGIS API通过WebScene类使用,从而轻松创建引人注目的3D应用程序。JSON文档是根据web场景规范编写的。

尽管您可以轻松创建自己的场景,但在ArcGIS Online中有数千个公开可用的web场景,您可以使用它们开始使用API。您可以修改或添加新的内容到这些场景。

要将一个WebScene加载到一个SceneView中,您只需通过这个类的portalItem属性在ArcGIS Online中引用web场景项的ID。


var scene = new WebScene({
  portalItem: { // 自动转换为新的PortalItem()
    id: "affa021c51944b5694132b2d61fe1057"  // arcgis.com上WebScene的ID
  }
});

要从本地门户加载WebScene,请在esriConfig.portalurl中设置门户url。


esriConfig.portalUrl = "https://myHostName.esri.com/arcgis";

var scene = new WebScene({
  portalItem: { // 自动转换为新的PortalItem()
    id: "0614ea1f9dd043e9ba157b9c20d3c538"  // 内部门户上WebScene的ID
  }
});

然后你必须在一个SceneView的map属性中引用WebScene实例。


var view = new SceneView({
  map: scene,  // 上面创建的WebScene实例
  container: "viewDiv"
});

这将开始加载所有图层和场景选项到3D SceneView。可以调用WebScene实例上的when()方法来执行只能在WebScene加载后运行的进程。


scene.when(function() {
  // 所有层和基本地图已经创建
});
view.when(function() {
  //所有层和基础地图资源都已加载,并准备显示
});

构造函数

new WebScene(properties):有关可能被传递到构造函数的所有属性的列表,请参阅属性。


var map = new WebScene({
  portalItem: {
    id: "affa021c51944b5694132b2d61fe1057"
  }
});

属性概述

allLayers:地图中所有图层的扁平集合。

allTables:地图层次结构中任意位置的扁平表集合。

applicationProperties:配置应用程序和UI元素。

authoringApp:创建WebScene的应用程序的名称。

authoringAppVersion:创建WebScene的应用程序的版本。

basemap:为map指定一个基本地图。

clippingArea:此属性仅适用于局部场景。

clippingEnabled:此属性仅适用于局部场景。

ground:指定map的表面属性。

heightModelInfo:WebScene的高度模型信息。

initialViewProperties:WebScene的初始视图。

layers:操作层的集合。

loaded:指示实例是否已加载。

loadError:如果加载时发生错误,则返回错误对象。

loadStatus:表示加载操作的状态。

portalItem:从其中加载WebScene的门户项目。

presentation:提供作为书签的幻灯片集合,用于保存预定义的视点和可见层。

sourceVersion:读取WebScene的源文档的版本。

tables:图层实例的集合,它们是保存在Map或WebMap中的表。

thumbnailUrl:用于web场景的缩略图的URL。

方法概述

add():在图层集合中添加一个图层。

addMany():向图层集合中添加一个层或一组层。

destroy():破坏webscene和任何相关的资源,包括它的层、基础地图、ground和portalItem。

findLayerById():返回一个基于给定层id的层。

fromJSON():创建这个类的一个新实例,并使用ArcGIS平台中产品生成的JSON对象的值对其进行初始化。

isFulfilled():isFulfilled()可用于验证类的实例创建是否完成(解析或拒绝)。

isRejected():isRejected()可以用于验证创建类的实例是否被拒绝。

isResolved():isresolve()可用于验证创建类的实例是否已解析。

load():触发WebScene实例的加载。

loadAll():加载与webscene关联的所有外部可加载资源。

remove():从layers集合中移除指定的层。

removeAll():删除所有层。

removeMany():移除指定的层。

reorder():改变层的顺序。

save():将webscene保存到与其相关的门户项目。

saveAs():将webscene保存为一个新的门户项目。

toJSON():将此类的实例转换为其ArcGIS门户JSON表示。

updateFrom():更新与视图相关的WebScene属性。

when():when()可以在创建类的实例后使用。

版权声明:
作者:Gomo
链接:https://www.develophm.com/index.php/webscene/744/
来源:开发之家
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>