关闭

部署ArcGIS JS API 离线包(Tomcat与IIS)

1464人阅读 评论(1) 收藏 举报
分类:

查看原文:【ArcGIS】Tomcat与IIS部署ArcGIS JS API 离线包

ArcGIS Javascript API 在国内访问一直非常缓慢,Ersi也没有部署国内CDN的意思,但是它提供了离线安装包。安装过程其实挺简单的,就是有些繁琐, Tomcat的部署不太清晰。主要为了记录一下,便于以后查阅。

    1.下载离线包

首先下载ArcGIS JS API 离线包需要注册一个免费的帐号,注册地址为:https://webaccounts.esri.com/cas/index.cfm 。然后进入ESRI官网下载页面选择下载,版本: v2.7v3.0v3.2 .如果访问缓慢的话,可以从微盘下载:v2.7v3.0v3.2 .

      2.安装离线包

  1.   解压下载的压缩包,将里面的 \arcgis_js_api\library 目录的所有内容全部拷贝到你的web 服务器中。比如的以下路径例子所示,
    •   Tomcat: \home\vent\tomcat7\webapps\arcgis_js_api\library
    •   IIS: C:\Inetpub\wwwroot\arcgis_js_api\library
  2.  将以下文件在文本编辑器(如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
  3. 搜索esri.js文件中的 '[HOSTNAME_AND_PATH_TO_JSAPI]', 用以下URI代替之。
    •  Tomcat: <myserver>:8080/arcgis_js_api/library/2.7/jsapi/
    •   IIS: <myserver>/arcgis_js_api/library/2.7/jsapi/

    myserver是你的网站访问URI,本地可以用localhost/127.0.0.1来代替.

  4.  将以下文件在文本编辑器(如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
  5.  搜索dojo.xd.js文件中的三个 '[HOSTNAME_AND_PATH_TO_JSAPI]' ,用以下URI代替之。
    • Tomcat: <myserver>:8080/arcgis_js_api/library/2.7/jsapi/
    •   IIS: <myserver>/arcgis_js_api/library/2.7/jsapi/
  6.  将以下文件在文本编辑器(如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
  7.  搜索dojo.xd.js文件中的三个 '[HOSTNAME_AND_PATH_TO_JSAPI]' ,用以下URI代替之。
    • Tomcat: <myserver>:8080/arcgis_js_api/library/2.7/jsapi/
    •   IIS: <myserver>/arcgis_js_api/library/2.7/jsapi/
  8. (可选) 如果你在项目中使用到压缩版的ArcGIS JS API,需要在arcgis_js_api\library\2.7\jsapicompact重复4-7的步骤。
  9. 将这个文件夹部署到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]', 用<myserver>:8080/arcgis_js_api/library/2.7/jsapi/代替之
    • 在页面调用的时候使用方法:
      <script type="text/javascript" src="http://<myserver>:8080/arcgis_js_api/library/2.7/jsapi/init.js"></script>

    IIS配置过程:

    • 打开IIS 管理器.
    • 打开包含Default.ashx 文件的文件夹 (C:\Inetpub\wwwroot\arcgis_js_api\library\2.7\jsapi).
    • 右键点击属性,选择文件Tab。确定启用默认内容页被勾选 。
    • 点击添加到按钮 .输入 "Default.ashx,点击确认并退出。

          3.测试

测试代码如下:

复制代码
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>Simple Map</title>
    <link rel="stylesheet" type="text/css" href="http://<myserver>:8080/arcgis_js_api/library/2.7/jsapi/js/dojo/dijit/themes/tundra/tundra.css">
    <link rel="stylesheet" type="text/css" href="http://<myserver>:8080/arcgis_js_api/library/2.7/jsapi/js/esri/css/esri.css" />
    <script type="text/javascript" src="http://<myserver>:8080/arcgis_js_api/library/2.7/jsapi/init.js"></script>
    <script type="text/javascript">
      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);
    </script>
  </head>
  <body class="tundra">
    <div id="mapDiv" style="width:900px; height:600px; border:1px solid #000;"></div>
  </body>
</html>
复制代码

 

使用Chrome Develop Tool 或者其它JS调试工具查看是否出错。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    重大更新
    重要说明:自2016年10月1日以后,CSDN文章将不再继续更新,所有文章已经迁移到了《程序喵》博客站点中去,在CSDN中遇到的问题,请在个人博客《程序喵》中搜索查看或留言,感谢各位订阅朋友的支持与理解,关于更多内容清,请点击文章 文章迁移说明 , 另外请支持我的另一个站点《程序员书籍导航》,又名程序员书籍大全, 谢谢!
    个人资料
    • 访问:777831次
    • 积分:10207
    • 等级:
    • 排名:第1892名
    • 原创:299篇
    • 转载:113篇
    • 译文:0篇
    • 评论:83条
    土豆自频道
    喜欢我的文章的朋友,请关注订阅我的土豆自频道,我会不定期来录制一些教学视频,欢迎收看!
    土豆网教学视频