之前,因为所做的项目不大,一直用的都是在线的Arcgis API For js,后来意识到了搞开发,离线部署是必须要掌握的,在线资源属于不可控范畴,能够避免的尽量避免。所以有了这次记录,以防以后忘记。如果有不对的地方,欢迎指出交流。


Arcgis API For js 的离线部署

  • 一、下载Arcgis API For js
  • 二、部署
  • IIS
  • tomcat
  • 三、访问


一、下载Arcgis API For js

官方下载网址(需要注册账号,注册提供邮箱即可无其他要求)https://developers.arcgis.com/javascript/

ArcGIS for Android 离线开发 arcgis js 离线地图_IIS


ArcGIS for Android 离线开发 arcgis js 离线地图_API_02


ArcGIS for Android 离线开发 arcgis js 离线地图_API_03


ArcGIS for Android 离线开发 arcgis js 离线地图_API_04


选择自己需要的版本下载,由于需求,我下载的是3.20老版本,操作是一样的

ArcGIS for Android 离线开发 arcgis js 离线地图_tomcat_05


接下来就等待下载,两个加起来350Mb左右,到这里下载部分完成。

二、部署

API可以部署在IIS中,也可以部署在tomcat中,两者有些细节不同

IIS

第一步:开启IIS服务

控制面板——>程序——>启用或关闭Windows功能,启动两个功能

ArcGIS for Android 离线开发 arcgis js 离线地图_IIS_06


第二步:IIS下的api部署

1.IIS服务启动后C盘会出现一个名为inetpub的文件夹,找到该文件。

2.将解压好的arcgis_js_v320_sdk和arcgis_js_api文件夹复制粘贴到inetpub文件夹下的wwwroot文件夹下。

sdk就是一个软件开发工具包,网上有说要把arcgis_js_api放在arcgis_js_v320_sdk里面,但我尝试过后发现不这么干也可以。

ArcGIS for Android 离线开发 arcgis js 离线地图_API_07


3.配置arcgis_js_api的init.js文件和dojo/dojo.js文件。

第一步:Ctrl+F组合键查找[HOSTNAME_AND_PATH_TO_JSAPI],并替换为 localhost/arcgis_js_api/library/3.20(注释:IIS对应访问路径为localhost,后面是wwwroot目录下的api路径)

第二步:将https:// 换成 http://

对上述两个文件执行相同的操作。到这里IIS部署就完成了。

tomcat

tomcat下部署比较方便

1.把arcgis_js_api解压后的文件夹放到…\tomcat\apache-tomcat-9.0.37\webapps目录下。

2.配置arcgis_js_api的init.js文件和dojo/dojo.js文件。

第一步:Ctrl+F组合键查找[HOSTNAME_AND_PATH_TO_JSAPI],
并替换为 192.1*.2*.1*:8080/library/3.20

(192.1*.2*.1为本地ip,cmd使用ipconfig查看)

第二步:将https:// 换成 http://

对上述两个文件执行相同的操作。

到这里tomcat部署就完成了。api路径里如果还有其他需要修改的照这样修改就好。

三、访问

1.IIS对应的访问路径:http://localhost/arcgis_js_api/library/3.20/3.20/dojo/dojo.js

ArcGIS for Android 离线开发 arcgis js 离线地图_IIS_08


http://localhost/arcgis_js_api/library/3.20/3.20/init.js

ArcGIS for Android 离线开发 arcgis js 离线地图_IIS_09


2.tomcat下访问,需要启动tomcat,点击tomcat/bin下的startup.bat启动tomcat,startup点击后不要关闭保持运行状态。

访问路径:http://192.#.#.#:8080/arcgis_js_api/library/3.20/3.20/init.js

ArcGIS for Android 离线开发 arcgis js 离线地图_IIS_10


访问路径:http://192.#.#.#:8080/arcgis_js_api/library/3.20/3.20/dojo/dojo.js

ArcGIS for Android 离线开发 arcgis js 离线地图_IIS_11