第一篇 【ArcGIS Javascript API应用系列一】 创建与安装ArcGIS Javascript API服务

第一篇     创建与安装ArcGIS Javascript API服务


       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提供的样式表
   <style type="text/css">@import "http://serverapi.arcgisonline.com/jsapi/arcgis/1/js/dojo/dijit/themes/tundra/tundra.css";</style>
     2.引用脚本文件
  <script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1"> </script> 



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


  1. 在你的Web应用程序根目录中创建目录jsapi文件夹, 对于Java Web应用程序,这是与WEB-INF同级的目录。将压缩包中的1.1文件夹整个拷贝到此目录中。
  2. 使用文本编辑器打开\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,由三部分组成,主机地址,端口号以及应用程序名称等。
  3. 使用文本编辑器打开\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等。
  4. 还有一项设置,更改ArcGIS Server REST的设置,在实际使用时,发现此项不进行设置也可正常使用。(注意将其中的<myserver>替换为你的Web应用程序的地址,例如:localhost:8080等)
  5. 设置完成以后,可以通过以下代码进行测试。(注意将其中的<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>



 欢迎交流:xuxiang.f+tech@gmail.com

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值