ArcGIS API for JavaScript 3.x linux离线部署

最近要用到ArcGIS API for JavaScript 3.8 的离线部署 下载链接(有时不能用)   按照离线包内的说明,在window上的tomcat上部署成功了,可是在liunx上却不能部署了。纠结很久,发现他们给的说明文档是错误的。

首先 init.js 在目录arcgis_js_v38_api\arcgis_js_v38_api\arcgis_js_api\library\3.8\3.8下,而不在其所谓的\webapps\arcgis_js_api\library\3.8\jsapi\init.js 下,其次也没有所谓的 \webapps\arcgis_js_api\library\3.8\jsapi\dojo\dojo\dojo.js 而是在arcgis_js_v38_api\arcgis_js_api\library\3.8\3.8\js\dojo目录下,鉴于这种情况,我将arcgis_js_v38_api\arcgis_js_api\library\3.8\3.8\js\dojo  目录改为  arcgis_js_v38_api\arcgis_js_api\library\3.8\jsapi\js\dojo

然后打开arcgis_js_v38_api\arcgis_js_v38_api\arcgis_js_api\library\3.8\3.8\init.js 替换 [HOSTNAME_AND_PATH_TO_JSAPI]为 137.64.33.40:8090/arcgis_js_api/library/3.8/jsapi/ 内网ip,也可为localhost,端口为服务器的端口

同上,将 arcgis_js_api\library\3.8\jsapi\js\dojo\dojo\dojo.js 替换 [HOSTNAME_AND_PATH_TO_JSAPI]为 137.64.33.40:8090/arcgis_js_api/library/3.8/jsapi/  

修改compact目录的也一样,将3.8compact文件夹重命名为jsapicompact 其他的和上面一样 将相应文件中的 [HOSTNAME_AND_PATH_TO_JSAPI]替换为137.64.33.40:8090/arcgis_js_api/library/3.8/jsapicompact/

然后就可以将整个arcgis_js_v38_api 文件夹放进tomcat的根目录,启动tomcat后,按照给的链接 http://137.64.33.40:8090/arcgis_js_api/library/3.8/jsapi/ 打开后会报错,不知为什么,

org.apache.jasper.JasperException: An exception occurred processing JSP page /library/3.8/jsapi/index.jsp at line 2

1: <%@page contentType="application/x-javascript; charset=utf-8" session="false" %>
2: <jsp:include page="./js/dojo/dojo/dojo.js" />
3: <jsp:include page="./js/esri/jsapi.js" />
不过按照他们的例子,是可以打开地图的。不过能用就行了。
<!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://137.64.33.40:8090/arcgis_js_api/library/3.8/jsapi/js/dojo/dijit/themes/tundra/tundra.css">
    <link rel="stylesheet" type="text/css" href="http://137.64.33.40:8090/arcgis_js_api/library/3.8/jsapi/js/esri/css/esri.css" />
    <script type="text/javascript" src="http://137.64.33.40:8090/arcgis_js_api/library/3.8/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://server.arcgisonline.com/ArcGIS/rest/services/NGS_Topo_US_2D/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>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值