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/
来源:开发之家
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论