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
下载之后,大家可以通过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进行如下设置:
最终就可以在内网中访问server中的地图服务,如下:
参考资料:
https://mp.weixin.qq.com/s/DRl1_ucMJKMaSnEdFn2jmw