ArcGIS Javascript API 在国内访问一直非常缓慢,Ersi也没有部署国内CDN的意思,但是它提供了离线安装包。安装过程其实挺简单的,就是有些繁琐, Tomcat的部署不太清晰。主要为了记录一下,便于以后查阅。
1.下载离线包
首先下载ArcGIS JS API 离线包需要注册一个免费的帐号,注册地址为:https://webaccounts.esri.com/cas/index.cfm 。然后进入ESRI官网下载页面选择下载,版本: v2.7, v3.0, v3.2 .如果访问缓慢的话,可以从微盘下载:v2.7, v3.0, v3.2 .
2.安装离线包
解压下载的压缩包,将里面的 \arcgis_js_api\library 目录的所有内容全部拷贝到你的web 服务器中。比如的以下路径例子所示,
Tomcat: \home\vent\tomcat7\webapps\arcgis_js_api\library
IIS: C:\Inetpub\wwwroot\arcgis_js_api\library
将以下文件在文本编辑器(如Notepad++,Vim)中打开:
Tomcat: \home\vent\tomcat7\webapps\arcgis_js_api\library\2.7\jsapi\js\esri\esri.js
IIS: C:\Inetpub\wwwroot\arcgis_js_api\library\2.7\jsapi\js\esri\esri.js
搜索esri.js文件中的 '[HOSTNAME_AND_PATH_TO_JSAPI]', 用以下URI代替之。
Tomcat: :8080/arcgis_js_api/library/2.7/jsapi/
IIS: /arcgis_js_api/library/2.7/jsapi/
myserver 是你的网站访问URI,本地可以用localhost/127.0.0.1来代替.
将以下文件在文本编辑器(如Notepad++,Vim)中打开:
Tomcat: \home\vent\tomcat7\webapps\arcgis_js_api\library\2.7\jsapi\dojo\dojo\dojo.xd.js
IIS: C:\Inetpub\wwwroot\arcgis_js_api\library\2.7\jsapi\js\dojo\dojo\dojo.xd.js
搜索dojo.xd.js文件中的三个 '[HOSTNAME_AND_PATH_TO_JSAPI]' ,用以下URI代替之。
Tomcat: :8080/arcgis_js_api/library/2.7/jsapi/
IIS: /arcgis_js_api/library/2.7/jsapi/
将以下文件在文本编辑器(如Notepad++,Vim)中打开:
Tomcat: \home\vent\tomcat7\webapps\arcgis_js_api\library\2.7\jsapi\dojo\dojo\dojo.xd.js.uncompressed.js
IIS: C:\Inetpub\wwwroot\arcgis_js_api\library\2.7\jsapi\js\dojo\dojo\dojo.xd.js.uncompressed.js
搜索dojo.xd.js文件中的三个 '[HOSTNAME_AND_PATH_TO_JSAPI]' ,用以下URI代替之。
Tomcat: :8080/arcgis_js_api/library/2.7/jsapi/
IIS: /arcgis_js_api/library/2.7/jsapi/
(可选) 如果你在项目中使用到压缩版的ArcGIS JS API,需要在arcgis_js_api\library\2.7\jsapicompact重复4-7的步骤。
将这个文件夹部署到Web服务器上。由于ArcGIS JavaScript APIs将多个 JavaScript 文件通过单一的URL流式地提供给客户端,所以它需要默认的处理器来模拟、控制JS文件流. ESRI提供了三种方式,在\library\2.7\jsapi\文件夹下,包括index.jsp, index.php,Default.ashx .配置如下,Tomcat配置过程:
打开 \home\vent\tomcat7\webapps\arcgis_js_api\library\2.7\jsapi\init.js
搜索init.js文件中的 '[HOSTNAME_AND_PATH_TO_JSAPI]', 用:8080/arcgis_js_api/library/2.7/jsapi/代替之
在页面调用的时候使用方法:
IIS配置过程:
打开IIS 管理器.
打开包含Default.ashx 文件的文件夹 (C:\Inetpub\wwwroot\arcgis_js_api\library\2.7\jsapi).
右键点击属性,选择文件Tab。确定启用默认内容页被勾选 。
点击添加到按钮 .输入 "Default.ashx,点击确认并退出。
3.测试
测试代码如下:
Simple Map
dojo.require("esri.map");
function init() {
var myMap = new esri.Map("mapDiv");
//note that if you do not have public Internet access then you will need to point this url to your own locally accesible cached service.
var myTiledMapServiceLayer = new esri.layers.ArcGISTiledMapServiceLayer("http://cache1.arcgisonline.cn/ArcGIS/rest/services/ChinaOnlineCommunity/MapServer");
myMap.addLayer(myTiledMapServiceLayer);
}
dojo.addOnLoad(init);
使用Chrome Develop Tool 或者其它JS调试工具查看是否出错。
本作品由VentLam创作,采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com