很多情况下,在地图服务发布完毕后,我们往往利用 ArcGIS for Server内置的 JS Viewer来查看和检测所发布的地图服务是否满足我们的要求。具体操作如下: 点击开始 -> 所有程序 -> ArcGIS -> ArcGIS for Server -> Services Directory 或直接在浏览器地址栏中键入 http://ip:6080/arcgis/rest打开ArcGIS for Server的Service Directories页面,选中并点击要查看的地图服务,点击 View In:ArcGIS JavaScript,即可浏览和查看地图并在开启开发者工具的情况下(按F12)对服务的请求和响应操作进行监控。

当ArcGIS for Server 所在的浏览器处于联网状态时,由于可自动从ESRI服务器下载JS API,从而保障了地图服务的正常查看。

但是,如果服务器处于内网环境,无法联网呢?

接下来,将对断网状态下如何配置ArcGIS for Server内置的JavaScript Viewer进行详细说明。

一 离线部署ArcGIS for JavaScript

1 下载和解压API和SDK

访问https://developers.arcgis.com/en/downloads/,利用已注册的ArcGIS Developer账户或ArcGIS试用账户进行登录。

选择所需要的版本,如3.11版本。若基于开发的需要,建议同时下载API和Documentation两个文件。

下载完毕后,依次解压。且为了方便访问,对文件进行了如下整理:

2 修改library下文件的配置信息

进入library\3.11下,可以看到3.11和3.11compact两个文件夹,分别对应于标准版和压缩版。压缩版本是为网络较慢或者延时较大的用户准备的,如移动端用户。更加详细的信息,请参见https://developers.arcgis.com/javascript/jshelp/intro_accessapi.html。

配置的关键在于将library中所有[HOSTNAME_AND_PATH_TO_JSAPI]替换为真实的ip地址。

对于标准版,利用文本编辑器依次打开下面两个文件:

(1)C:\inetpub\wwwroot\arcgis_js_api\library\3.11\3.11\init.js

(2)C:\inetpub\wwwroot\arcgis_js_api\library\3.11\3.11\dojo\dojo.js

将其中的[HOSTNAME_AND_PATH_TO_JSAPI]替换成<myserver>/arcgis_js_api/library/3.11/3.11/,由于我的JS离线包部署在虚拟机中,因此,这里替换为[虚拟机IP]/arcgis_js_api/library/3.11/3.11/,即192.168.150.140/arcgis_js_api/library/3.11/3.11/

对于压缩版,利用文本编辑器依次打开下面两个文件:

(1)C:\inetpub\wwwroot\arcgis_js_api\library\3.11\3.11compact\init.js

(2)C:\inetpub\wwwroot\arcgis_js_api\library\3.11\3.11compact\dojo\dojo.js

将其中的[HOSTNAME_AND_PATH_TO_JSAPI]替换成<myserver>/arcgis_js_api/library/3.11/3.11compact/,由于我的JS离线包部署在虚拟机中,因此,这里替换为[虚拟机IP]/arcgis_js_api/library/3.11/3.11compact/,即192.168.150.140/arcgis_js_api/library/3.11/3.11compact/

3 初步测试

访问http://192.168.150.140/arcgis_js_api/library/3.11/3.11/init.js,可正常访问文件内容或可正确下载这一文件,则表明部署正确。

二 配置ArcGIS for Server

1 配置 ArcGIS for Server 10.1.1

打开[ArcGIS Server安装目录]\framework\runtime\tomcat\webapps\arcgis#rest\WEB-INF\classes\resources下的rest-config.properties,对JS API URLs下的三个参数jsapi.arcgis、jsapi.arcgis.sdk和jsapi.arcgis.css进行修改并保存:

注:此方案适用于10.1和10.1.1版本

2 配置 ArcGIS for Server 10.3

访问并登录ArcGIS Server Administrator Directory

依次点击system -> handlers -> rest -> servicesdirectory

点击 edit,对JavaScript API URL, Javascript API SDK URL, Javascript API CSS URL 和JavaScript API CSS2 URL四个参数进行修改并保存。

注:此方案适用于ArcGIS for Server 10.2,10.2.1,10.2.2和10.3版本;请务必确保JavaScript API URL和JavaScript API CSS URL两项进行了配置。

三 测试

按照第一章节的访问方法,在浏览器中打开示例服务,通过网络监控,可以发现所有的ArcGIS JavaScript API中资源的访问都已转为本地部署的资源。离线部署成功完成。

注:

(1)在集群环境中,可以将ArcGIS for JavaScript API离线部署至一台服务器上,对集群中所有的ArcGIS for Server进行配置以指向这一地址,以避免重复部署。

(2)SDK可根据需要,自行选择是否部署。

(3)虽然可选择将ArcGIS for JavaScript API离线部署在ArcGIS for Server 内置的tomcat中,但是为避免相互干扰,强烈建议部署在独立的web server中。

ArcGIS for Server内置JS Viewer的离线部署和配置的更多相关文章

  1. SQL Server 内置函数、临时对象、流程控制

    SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ...

  2. Eclipse spket插件 内置js文件

    这一篇将怎么在spket内置js文件,而不用用户自己去添加.    1. 在开发的Eclipse的 运行配置将下面几个插件勾选上.     2. 在org.eclipse.ui.startup拓展里执 ...

  3. sql server 内置ETL工具学习(一) BCP篇

    sql server 内置ETL工具学习 常用的导入方式:bcp, BULK INSERT,OPENROWSET和 SSIS. BCP BCP全称BULK COPY PROGRAM 有以下特点: 命令 ...

  4. 10、SQL Server 内置函数、临时对象、流程控制

    SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ...

  5. sql server内置存储过程、查看系统信息

    1.检索关键字:sql server内置存储过程,sql server查看系统信息 2.查看磁盘空间:EXEC master.dbo.xp_fixeddrives , --查看各个数据库所在磁盘情况S ...

  6. SQL Server内置的HTAP技术

    SQL Server内置的HTAP技术 目录 背景 SQL Server在OLAP上的发展 SQL Server的初代HTAP SQL Server逐渐增强的HTAP SQL Server列存总结 H ...

  7. ArcGIS for Server的安装及站点中的集群配置 分类: ArcGIS for server 2015-07-18 14:14 16人阅读 评论(0) 收藏

       坚信并为之坚持是一切希望的原因. (不足之处,欢迎批评指正!) --------------------环境:Windows server2008R2虚拟机两台----------------- ...

  8. ArcGIS API for JS 4.x 离线部署(https)

    在离线部署查资料的过程中,基本全部都是部署在“Default Web Site”下面,部署在这个下面的默认是 http 方式请求的.并且不能修改. 但是系统中请求的都是 https,这样导致请求不到J ...

  9. sql server内置函数

    MSDN标准文档:https://msdn.microsoft.com/zh-cn/library/ff848784(v=sql.120).aspx 配置函数 select @@servername ...

随机推荐

  1. mysql基础itcast笔记

    1. 课程回顾 mysql基础 1)mysql存储结构: 数据库 -> 表 -> 数据   sql语句 2)管理数据库: 增加: create database 数据库 default c ...

  2. Eclipse&nbsp;Helios(3.6.2)下载地址

    Eclipse Helios(3.6.2)下载地址   鉴于有些插件最高只能支持到指定的eclipse 3.6版本,以此收集3.6下载地址 Eclipse Helios (v3.6.2) Eclips ...

  3. 条款29:为“异常安全”而努力是值得的

    当异常被抛出时,带有异常安全性的函数: 1.不泄露任何资源 2.不允许数据败坏   异常安全函数提供以下三个保证之一: 1.基本承诺:如果异常被抛出,程序内的任何事物仍然保持在有效的状态下.没有任何对 ...

  4. linux控制USB的绑定/解绑

    linux控制USB的绑定/解绑 http://www.jianshu.com/p/57293f9be558 今天工作中遇到一个问题, 要用代码实现USB的enable和disable. 谷歌了一番, ...

  5. Eclipse下对maven进行配置

    前提:安装好maven插件http://www.cnblogs.com/lchzls/p/6281697.html 1.需要修改配置:首先选择Window->Preferences,弹出如下对话 ...

  6. spring配置与使用

    1. 创建基于java的配置. 配置极少量的XML来启用java配置: <?xml version="1.0" encoding="UTF-8"?> ...

  7. 《深入理解Java虚拟机》笔记01 -- 运行时数据区

    运行时数据区示意图 1. 程序计数器 占用一块较小的内存空间,它可以看作是当前线程所执行的字节码的行号指示器.主要用来记录线程执行到哪条语句了,分支.循环.跳转.异常处理.线程恢复等功能都需要依赖这个 ...

  8. linux 之基本命令学习总结

    前言:从今天开始写这系列linux博客了(是学习刘遄老师的<linux就该这么学>),视频学习的资源可以在b站上找到:https://www.bilibili.com/video/av45 ...

  9. 解决sublime text无法安装插件问题

    解决sublime text无法安装插件问题最近在sublime text3中使用命令ctrl+shift+p命令安装插件发现不能安装了,一会儿报错 这个错误表示没有可用的安装包,经过一番探索发现是配 ...

  10. Delphi调用C# 编写dll动态库

    Delphi调用C# 编写dll动态库 编写C#dll的方法都一样,首先在vs2005中创建一个“类库”项目WZPayDll, using System.Runtime.InteropServices ...