zoukankan      html  css  js  c++  java
  • 部署ArcGIS JS API 离线包(Tomcat与IIS)

    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="900px; height:600px; border:1px solid #000;"></div>
      </body>
    </html>

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

    知识共享许可协议
    本作品由VentLam创作,采用知识共享署名-非商业性使用-相同方式共享 2.5 中国大陆许可协议进行许可。

  • 相关阅读:
    界面控件DevExpress WPF入门 表达式编辑器功能
    Telerik UI for WPF全新版本——拥有Office2019高对比度主题
    DevExpress报表控件v21.2 全新的Visual Studio报表设计器
    报告生成器FastReport .NET入门指南 在Linux中启动应用程序
    文档控件DevExpress Office File API v21.2 自定义字体加载引擎
    UI组件库Kendo UI for Angular入门 如何开始使用图表功能
    WPF界面工具Telerik UI for WPF入门级教程 设置一个主题(二)
    DevExtreme初级入门教程(React篇) TypeScript支持
    报表开发利器FastReport .NET v2022.1 添加关键对象和属性
    python项目打包(一) setup.py、Python源代码项目结构
  • 原文地址:https://www.cnblogs.com/ventlam/p/2815583.html
Copyright © 2011-2022 走看看