ArcGIS API 调用本地服务场景与图层
一、调用本地场景WebScene
首先在ArcGIS API的官网可以看到创建有一个WebScene场景的教程。如下图所示:
图中的id后面那串很长的数字就是代表一个场景。
对于我们发布至本地服务器Portal中的场景,Portal会自动为其分配一个id。可通过如下方式找到:
访问本地服务Portal,点击Gallery -> My Organization’s Featured Content,此页中会显示出你所发布在本地的所有场景及图层。
上图中点击含有地球小图标的场景,进入后可查看我们发布至Portal的场景,在地址栏中,你会看到最后有一串数字,这串数字就是我们需要的id。
将图一中创建场景的id替换为我们此处本地的id就可以访问我们本地的场景了。
二、调用本地图层Layer的子图层
Layer的子图层有两种调用方式,在介绍两种调用方式前需要先了解Portal的两层目录,一层是home级目录(主要以可视化的形式查看服务,为每个图层分配私有id),一层是rest级目录(以RESTful风格显示的数据,代表每一个图层所在的路径)。
如下图所示:
/home
/rest
图层的两种调用方式就是以这两层目录结构为基准的:
1、通过id调用,此id属性继承自Layer类。
访问home级目录,找到自己想要引入的某一图层,点击进入,地址栏会找到相应的id。通过如下方式可以导入该图层(具体导入方法请查询API中相关例子)
var sceneLayer = new SceneLayer({
portalItem: {
id: "f5c497819a374941b0ce8d9b0e979819"
}
});
2、通过地址url调用。
访问rest级目录,点击Hosted,可查看我们发布的所有图层,如下图所示:
进入到某一希望调用的图层目录中,将地址栏复制,以如下方式进行调用:
const buildingLayer = new BuildingSceneLayer({
url:"http://server202.esrichina.com/arcgis/rest/services/Hosted/QZH0315_WSL3/FeatureServer/0",
title: "Administration Building, Redlands - Building Scene Layer"
});
webscene.layers.add(buildingLayer);