ArcGIS软件部署-在Server内部部署离线版JS API


1.简介

在ArcGIS Server的rest地址中,使用JS方式预览地图服务时,会使用在线的ArcGIS JS API。通常生产环境下是无法访问外网的,所有导致无法方便的预览地图服务。当然也可以通过portal来预览,或者部署离线版JS API。这里提供一种更简洁的方式,不需要额外的软件环境或Web服务器,而是直接使用ArcGIS Server中的tomcat来实现离线版JS API的部署。

2.JS API离线部署

(1)离线部署
打开ArcGIS for Server安装目录\Server\framework\runtime\tomcat\webapps,在其中创建文件夹arcgis#jsapi,并将JS API复制到其中。

ArcGIS软件部署-在Server内部部署离线版JS API_第1张图片
目录结构

(2)修改JS API配置
修改arcgis#jsapi/3.20/init.js和arcgis#jsapi/3.20/dojo/dojo.js文件,将文件中的[HOSTNAME_AND_PATH_TO_JSAPI]/dojo修改为本地访问地址,如:"webgisdemo.xinli.local:" + (location.protocol === "https:" ? "6443" : "6080") + "/arcgis/jsapi/3.20/dojo"

配置文件修改

3.ArcGIS Server中配置与测试

(1)Server Admin配置
在Server Admin中,打开地址:https://webgisdemo.xinli.local:6443/arcgis/admin/system/handlers/rest/servicesdirectory
点edit,修改其中的地址:

Javascript API URL :https://webgisdemo.xinli.local:6443/arcgis/jsapi/3.20/init.js
Javascript API CSS URL :https://webgisdemo.xinli.local:6443/arcgis/jsapi/3.20/dijit/themes/tundra/tundra.css
Javascript API CSS2 URL :https://webgisdemo.xinli.local:6443/arcgis/jsapi/3.20/esri/css/esri.css
ArcGIS软件部署-在Server内部部署离线版JS API_第2张图片
REST配置

(2)预览测试

ArcGIS软件部署-在Server内部部署离线版JS API_第3张图片
测试效果

4.其他

4.1.预览需求

如果有Portal环境,有两种方式来预览地图服务:

  1. 可以直接通过Portal来预览ArcGIS Server中的服务,并且还可以做查询分析等额外功能。
  2. 在ArcGIS Server中配置使用Portal的JS API,继续使用ArcGIS Server rest地址来预览。

如果没有Portal环境,也有两种方式预览地图服务:

  1. 使用ArcGIS桌面软件来预览,同样提供查询等外额功能。
  2. 部署离线JS API,再在ArcGIS Server中配置使用和预览。

4.2.开发需求

  1. 如果使用最新版JS API,需要部署离线版JS API,可以使用本文的方式,也可以部署在web工程下。这两种方式可不用部署额外的Web服务器。
  2. 直接使用Portal中提供的JS API。需要注意的是Portal中的JS API版本不是最新版。

4.3.Web工程下部署JS API

JS API需要修改dojo.js文件,并将访问url设置其中,为避免绑死在固定url上,可做如下修改:

  1. 在dojo.js文件头,添加:var agsJsBaseUrl= window.location.protocol+"//"+window.location.host;
  2. [HOSTNAME_AND_PATH_TO_JSAPI]部分修改为:baseUrl:agsJsBaseUrl+"/arcgis/jsapi/4.4/dojo"

4.4.JS API4.4离线部署

  1. 离线部署
    打开ArcGIS for Server安装目录\Server\framework\runtime\tomcat\webapps,在其中创建文件夹arcgis#jsapi,并将JS API复制到其中。
    ArcGIS软件部署-在Server内部部署离线版JS API_第4张图片
    目录结构
  2. 修改配置文件
    修改arcgis#jsapi/4.4/dojo/dojo.js文件,在文件头增加:将文件中的[HOSTNAME_AND_PATH_TO_JSAPI]修改为本地访问地址,如:https://webgisdemo.xinli.local:6443/arcgis/jsapi/4.4/
  3. 调用测试
    JS引用:https://webgisdemo.xinli.local:6443/arcgis/jsapi/4.4/dojo/dojo.js
    CSS引用:
    https://webgisdemo.xinli.local:6443/arcgis/jsapi/4.4/dijit/themes/claro/claro.css
    https://webgisdemo.xinli.local:6443/arcgis/jsapi/4.4/esri/css/main.css

你可能感兴趣的:(ArcGIS软件部署-在Server内部部署离线版JS API)