1.环境搭建

  安装Arcgis Portal 10.4,Server 10.4,DataStore ,WebAdaptor for IIS,搭建arcgis api for javascript 4.3环境,具体配置过程自行百度,在此就不赘述。

2.语言设置

  设置Portal语言:"我的组织"->编辑设置->常规->语言,选中“中文简体”;

3.发布图层

  在arcgis pro 1.4中发布名为point,line,polygon的测试服务,此处可以对各图层进行唯一值渲染等配图操作,设置图层弹出框显示的字段内容、样式、模板等内容;

  简单配置图层样式:

  使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap

  发布图层:"Share"选项卡->Share As -> Web Layer -> Publish Web Layer。

  数据类型分为“引用注册数据”和“复制所有数据”,这两种数据类型支持不同的发布图层类型以及数据查询、添加、更新操作。

  使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap

  填写完“概述”、“标签”后,点击“分析”按钮,无错误提示后,选择“发布”:

  使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap

4.自定义Web地图

  自定义BaseMap

  在Portal的地图选项卡中,添加一个自定义BaseMap

  添加图层->添加Web图层,

  使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap

 

  选择Arcgis Web Server,输入瓦片服务地址,并将“设定为底图”勾上),

  使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap

  遇到问题:添加自定义切图比例尺的瓦片服务,在Portal的Viewer.html可以看到,但自己写的页面去看不相应底图;

  解决办法:瓦片类型选择ArcGIS Online/BingMaps /Google Maps,不要选择自定义比例尺。另外,在API4.3版本中,读取自定义瓦片服务的类变为TileImageLayer。

  添加FeatureLayer

  接着找到point 、line、polygon三个图层,添加到地图上,选择保存按钮,把配置好的地图保存。此时可以在“我的内容”中看到配置的地图。

  使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap

  接下来,保存为地图"Fifth"。

  在地图查看器中打开"Fifth",内容列表处,可进对Line图层进行样式修改、统计、分析、设定标注、自定义弹出框等操作,以设置Line图层的弹出框样式为例:

使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap

  使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap

  制作完成后,效果如下图所示:

  使用Arcgis Api for Javascript 调用 本地Portal发布的WebMap

 

 5.调用地图

  使用JS API加载WebMap,需要用到Fifth的GUID编码,代码如下  

 1  var map,webMap,view,tileLyr;
 2         require([
 3             "esri/Map",
 4             "esri/WebMap",
 5             "esri/views/MapView",
 6             "esri/layers/VectorTileLayer",
 7             "dojo/domReady!"
 8         ], function(Map,WebMap, MapView, VectorTileLayer) {
 9 
10             // Create a Map
11             map = new Map();
12             webMap=new WebMap({
13                 portalItem: { // autocasts as new PortalItem()
14                     id: "ea75705fbf3f40639de492578d247fae"
15                 }
16             });
17             // Make map view and bind it to the map
18             view = new MapView({
19                 container: "viewDiv",
20                 map: webMap,
21 
22                 zoom: 10
23             });
View Code

相关文章:

  • 2021-07-25
  • 2022-12-23
  • 2021-11-18
  • 2022-02-22
  • 2021-04-18
  • 2022-12-23
  • 2022-01-18
  • 2022-03-08
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-14
  • 2022-12-23
  • 2021-09-06
  • 2021-09-14
相关资源
相似解决方案