在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于白天工作忙碌的原因,没有来得及回答他们的提出的问题,所以利用空余时间来写一系列简单的入门arcgis api for js开发教程,仅供初学者giser学习使用,其中写的不足之处,欢迎批评指正,大家一起交流学习。
arcgis for js开发依赖arcgis地图服务的,而arcgis地图服务的发布是通过arcgisserver来发布的,所以,首先要学会安装arcgisserver,还有就是学会如何发布地图服务。要是这些不懂的giser,可以参照我前面写的arcgisserver安装篇:http://www.cnblogs.com/oolili/p/4290775.html;还有就是arcgis地图服务发布篇:http://www.cnblogs.com/oolili/p/4752114.html、http://www.cnblogs.com/oolili/p/4752204.html。
下面开始arcgis api for js开发环境的离线部署:
(1)首先,从esri官网下载arcgis api,版本自己选择,官网下载最新版本api的地址:https://developers.arcgis.com/downloads/;
备注:下载api需要注册arcgis用户才行
(2)其次,本地部署arcgis api,由于本机的网络原因,下载太慢了,所以这里用3.14版本api来替换。
这里以IIS服务器为例,tomcat服务器同理。解压后在IIS中建立应用程序,如下图。配置好API应用程序后,其路径为http://localhost/arcgis_js_api
(3)然后,配置arcgis api,由于本机的网络原因,下载太慢了,所以这里用3.14版本api来替换,但是没关系,配置原理是一样的。
1.配置init.js文件
打开下载api里面的init.js文件,我的目录是:C:\inetpub\wwwroot\arcgis_js_api\library\3.14\3.14\init.js,
把[HOSTNAME_AND_PATH_TO_JSAPI]替换成api在本地机器上的部署路径,注意路径无需包含http://。
我的配置如下:localhost/arcgis_js_api/library/3.14/3.14/dojo
2.配置dojo.js文件
打开下载api里面的init.js文件,我的目录是:C:\inetpub\wwwroot\arcgis_js_api\library\3.14\3.14\dojo\dojo.js,
把[HOSTNAME_AND_PATH_TO_JSAPI]替换成api在本地机器上的部署路径,注意路径无需包含http://。
我的配置如下:localhost/arcgis_js_api/library/3.14/3.14/dojo
(4)最后,测试配置的api是否成功。
打开浏览器,输入:http://localhost/arcgis_js_api/library/3.14/3.14/init.js
打开浏览器,输入:http://localhost/arcgis_js_api/library/3.14/3.14/dojo/dojo.js
打开浏览器,输入:http://localhost/arcgis_js_api/library/3.14/3.14/esri/css/esri.css
要是在浏览器输入都可以打开,没路径错误的话,说明已经API配置成功!
这里顺便提提调用在线arcgis api,在线模式,顾名思义,就是在外网的情况调用esri官网的api,这种模式有利有弊。
好处就是不用配置离线环境,也不用部署什么的,在html引用api直接调用:
<link rel="stylesheet" href="https://js.arcgis.com/3.18/esri/css/esri.css">
<script src="https://js.arcgis.com/3.18/"></script>
坏处:依赖网速,网络不好的时候,加载api的js和css慢,影响网页展示效果