ArcGIS API for JavaScript 4.14已于近日正式推出,关于它的新特性可以参考ArcGIS API for JavaScript 4.14新特性
ArcGIS API for Javascript已经部署在云端服务器上,因此开发者利用JavaScript API进行开发时,一般不需要把API下载到本地,只需要在开发页面中简单地通过<script>标签引入在线JavaScript API,并通过<link>标签引入esri公司提供的样式文件就可以使用API了。
在一些对安全方面要求很高的应用场景下,例如,部署的服务器在一个封闭的内网环境下,则需要下载JavaScript API,并把它部署到内网能够访问的服务器上。本篇博客就是来介绍内网环境本地部署ArcGIS API for JavaScript,同时内网显示arcgis server中自带的地图服务。
具体实现
- 需要安装arcgis server。步骤请参考:http://zhihu.esrichina.com.cn/?/article/456
- 下载js api开发包。下载地址:https://developers.arcgis.com/downloads/apis-and-sdks
我这里安装的arcgis server版本是10.7.1,它内置的在线js api是4.x(可以通过访问https://localhost:6443/arcgis/admin,在system——handlers——rest——servicesdirectory能够查看是3.x系列还是4.x系列),因此我下载的是4.x的js api,例如:4.14;如果使用的arcgis server是低版本,内置的js api是3.x,那么必须下载3.x的js api以便下文替换arcgis server内置api。
下载之后,大家可以通过IIS或者Tomcat在本地部署ArcGIS API for JavaScript。
服务器路径:IIS: \Inetpub\wwwroot\ Tomcat:\[Tomcat_Path]\ webapps\
- 以IIS部署为例,离线部署js api。
解压,把解压后的文件夹放在IIS目录下(如果IIS没有开启,自行上网搜索如何开启IIS服务器),浏览ArcGIS API for JavaScript 的文件夹,找到init.js文件。

修改init.js文件,在init.js里搜索[HOSTNAME_AND_PATH_TO_JSAPI] , 替换为https://192.168.0.160/arcgis_js_api/library/4.14 (以我本机上面的JS API放置的路径为例),示例如下:

其中192.168.0.160是机器的ip地址;arcgis_js_api/library/4.14是js包在iis中的存放路径
同样的,也把dojo文件夹下的dojo.js也替换。


在浏览器访问http://localhost/arcgis_js_api/library/4.14/init.js,出现下图内容说明修改好了:

- arcgis server内置api的替换
要想在内网中,加载显示arcgis server manager中的地图服务,还需要在server admin中配置本地的js api,步骤如下:
通过访问https://localhost:6443/arcgis/admin,输入server站点用户名和密码,

并在弹出的窗口中通过system——handlers——rest——servicesdirectory进入Services Directory,可以发现默认的server采用的是js api 4.10,是在线api,这样会导致在内网中无法显示地图服务。

通过将Javascript API和Javascript API CSS进行如下设置:
如果是低版本的arcgis server,JavaScript API URL显示的可能是3.x系列,例如:https://js.arcgis.com/3.15/,同时还多了个JavaScript API CSS2 URL,只需使用本地js api 3.x对应的文件路径一 一替换即可。

最终就可以在内网中访问server中的地图服务,如下:

参考资料:
https://mp.weixin.qq.com/s/DRl1_ucMJKMaSnEdFn2jmw
本文详细介绍如何在内网环境中本地部署ArcGIS API for JavaScript,包括下载API、配置服务器及替换arcgis server内置API的步骤,使开发者能在封闭网络下使用地图服务。
1118

被折叠的 条评论
为什么被折叠?



