【00】内网环境本地部署ArcGIS API for JavaScript

时间:2024-04-02 18:29:56

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中自带的地图服务。

具体实现

下载之后,大家可以通过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文件。

【00】内网环境本地部署ArcGIS API for JavaScript

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

【00】内网环境本地部署ArcGIS API for JavaScript

其中192.168.0.160是机器的ip地址;arcgis_js_api/library/4.14是js包在iis中的存放路径

同样的,也把dojo文件夹下的dojo.js也替换。

【00】内网环境本地部署ArcGIS API for JavaScript

【00】内网环境本地部署ArcGIS API for JavaScript

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

【00】内网环境本地部署ArcGIS API for JavaScript

  • arcgis server内置api的替换

要想在内网中,加载显示arcgis server manager中的地图服务,还需要在server admin中配置本地的js api,步骤如下:

通过访问https://localhost:6443/arcgis/admin,输入server站点用户名和密码,

【00】内网环境本地部署ArcGIS API for JavaScript

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

【00】内网环境本地部署ArcGIS API for JavaScript

通过将Javascript API和Javascript API css进行如下设置:

【00】内网环境本地部署ArcGIS API for JavaScript

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

【00】内网环境本地部署ArcGIS API for JavaScript

参考资料:

https://mp.weixin.qq.com/s/DRl1_ucMJKMaSnEdFn2jmw