您的位置:首页 > 编程语言 > Java开发

ArcGIS 的Server 10 Java 版的jsapi服务的部署方法

2012-04-11 23:33 281 查看
JavaScript API是ArcGIS Server 9.3新增的一套API框架,为创建WebGIS应用提供了轻量级的解决方案,在客户端可以轻松地利用JavaScript API来调用ArcGIS Server所提供的服务,实现地图应用和地理处理功能。 

       开发人员在使用Javascript API进行开发时,只需编写客户端的代码,不需要编写服务器端代码。JavaScript API是纯粹的客户端操作,它基于Dojo库,并用面向对象的方式对其提供的功能进行了重新封装。 

       要使用ArcGIS Javascript API进行开发,有两种方法,一种方法是使用arcgisonline提供的在线脚本服务。其二是使用Javascript API离线版本创建自己的ArcGIS Javascript API服务。 

       首先介绍第一种方法。第一种方法较为简单,直接利用在线的脚本服务。如果你的开发环境与运行环境,Web服务器都能直接与外网连通,那么可以使用方法一进行开发。方法一不需要创建自己的ArcGIS Javascript API服务。其使用方法如下:
  1.使用Dojo提供的样式表

Javascript代码 

<style type="text/css">@import "http://serverapi.arcgisonline.com/jsapi/arcgis/1/js/dojo/dijit/themes/tundra/tundra.css";</style>

     2.引用脚本文件

Javascript代码 

<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1"> </script> 

 
    方法二较方法一复杂,先要获取框架的离线版本。在ESRI的官方网站上,没有找到离线版本的下载地址,你可以从附件中获取离线版本。获取离线版本以后,按照以下的步骤进行设置。

在你的Web应用程序根目录中创建目录jsapi文件夹,
对于Java Web应用程序,这是与WEB-INF同级的目录。将压缩包中的1.1文件夹整个拷贝到此目录中。

使用文本编辑器打开\1.1\arcgis\js\esri\esri.js,找到baseUrl:"[FULL_HTTP_URL_TO_JSAPI]",使用以下字段进行代替:baseUrl:"http://<myserver>/jsapi/1.1/arcgis/"其中<myserver>是你的Web服务器运行的地址,如localhost:8080/WebQuery,由三部分组成,主机地址,端口号以及应用程序名称等。

使用文本编辑器打开\1.1\arcgis\js\esri\dijit\css\InfoWindow.css,找到src='[FULL_HTTP_URL_TO_JSAPI]js/esri/dijit/images/infowindow.png',使用以下字段进行代替:src='http://<myserver>/jsapi/1.1/arcgis/js/esri/dijit/images/infowindow.png'其中<myserver>是你的Web服务器运行的地址,如localhost:8080/WebQuery等。

还有一项设置,更改ArcGIS Server REST的设置,在实际使用时,发现此项不进行设置也可正常使用。(注意将其中的<myserver>替换为你的Web应用程序的地址,例如:localhost:8080等)

设置完成以后,可以通过以下代码进行测试。(注意将其中的<myserver>替换为你的Web应用程序的地址,例如:localhost:8080/WebQuery等)

<!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>/jsapi/1.1/arcgis/js/dojo/dijit/themes/tundra/tundra.css">  

    <script type="text/javascript" src="http://<myserver>/jsapi/1.1/arcgis/"></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>  

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息