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复制到其中。

目录结构

(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
REST配置

(2)预览测试

测试效果

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复制到其中。
    目录结构
  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 api 4.x for js 版本系列为测试用例,其实 arcgis api 3.x for...
    gis之家阅读 4,140评论 0 14
  • 说句题外话,前段时期生了大病,险些就与世长辞,修养了3个多月终于基本恢复。这里希望各位程序猿工作之余还是要保存身体...
    时空之弄潮儿阅读 4,352评论 0 50
  • 今天就和学习跳舞的小伙伴们说说跳舞前后需要注意的事项。 1、跳舞前一定要做好热身活动 大多数人对于热身活动并不在意...
    板栗好耶阅读 538评论 0 0
  • 每一次喝水都是最后一次喝水 妈妈的每一次亲吻都是最后一次亲吻 爸爸每一次帮我做鱼网都是最后一次做 瓶中的小鱼儿每一...
    大吕娘阅读 195评论 0 0
  • 这是一篇没有任何主题的文章。随心表达,不带有任何目的,如果你能在这其中读出点什么,那我很荣幸。庆幸茫茫人海中的你...
    何目兮阅读 227评论 0 1