本文转自:http://blog.csdn.net/jianzhanger/article/details/7847866

还可以参考:http://blog.csdn.net/xk_zhang/article/details/51675231#t0

1. 下载并解压Library和SDK在浏览器中访问http://support.esrichina.com.cn/2011/0223/960.html,选择需要下载的版本(目前最新版本是4.0beta2,建议下载该版本)。其中,Library的内容是地图API,SDK的内容是API说明文档和示例,为了方便本地开发,建议两个文件都下载。

查看下载好的两个压缩文件,其中都包含arcgis_js_api文件夹:

  

  

  分别将其中的arcgis_js_api解压到某一相同的目录下,如:E:\Web(可以自行选择),目录组织结构如下所示:

  

2. 修改Library中的配置信息

  这一步是部署的关键,Library中使用了“[HOSTNAME_AND_PATH_TO_JSAPI]”来代替真实的IP地址信息,需要对他们进行修改才能使用。

  进入Library\2.8目录,可以看到里面有jsapi和jsapicompat目录,他们一个是标准版本,一个是压缩版本。

  

  他们之间的区别可以参考:http://help.arcgis.com/en/webapi/javascript/arcgis/help/jshelp_start.htm

  在Concepts选项卡下Inside the API - Compat Build中有详细的介绍,这里不再赘述。简而言之,压缩版本是为网络较慢或者延时较大的用户准备的,总体上讲包含的模块更少(标准版包含80个模块,而压缩版仅为32个),而且不包含Dojo Widgets,如果希望使用jQuery或者ExtJS代替Dojo作为JS框架的话可以使用压缩版(这里推荐使用标准版)。

  需要修改的三个文件分别为:

  (1) arcgis_js_api\library\2.8\jsapi\js\esri\ersi.js

  (2) arcgis_js_api\library\2.8\jsapi\js\dojo\dojo\dojo.xd.js

  (3) arcgis_js_api\library\2.8\jsapi\js\dojo\dojo\dojo.xd.js.uncompressed.js

  使用文本替换功能将其中的 "[HOSTNAME_AND_PATH_TO_JSAPI] 

  替换为 djConfig.serverIP + "/arcgis_js_api/library/2.8/jsapi/

  以esri.js为例,修改后的内容显示为:

      

3. 在Web服务器中发布

  以Win7 64位机器为例(IIS版本为7.5),

  第一步,通过IIS管理器以arcgis_js_api目录为根目录新建应用程序(这里新建了一个网站,端口是2000,可以自行设置,注意程序中要和这里设置的保持一致);

  

  第二步,将默认文档的第一个设置为Default.ashx(其他的可以去掉);

   

4. 测试API是否可用

  编写一个测试页面arcgis_jsapi.html,里面包含如下内容:

<!DOCTYPE html>

<html>

<head>

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

    <title>ArcGIS JSAPI Demo</title>

    <link rel="stylesheet" type="text/css" href="http://localhost:2000/arcgis_js_api/library/2.8/jsapi/js/dojo/dijit/themes/claro/claro.css">

    <style>

      html, body { height: 100%; width: 100%; margin: 0; padding: 0; }

      #map { padding:0; }

    </style>

    <script type="text/JavaScript">

        djConfig = {

            parseOnLoad: true,

            isDebug: false,

            baseUrl: './',

            locale: 'zh',

            serverIP: 'localhost:2000'

        };

    </script>

    <script type="text/javascript" src="http://localhost:2000/arcgis_js_api/library/2.8/jsapi/"></script>

    <script type="text/javascript">

        dojo.require("dijit.layout.BorderContainer");

        dojo.require("dijit.layout.ContentPane");

        dojo.require("esri.map");

        var map;

 

        function init() {

            var initExtent = new esri.geometry.Extent({ "xmin": -17731, "ymin": 6710077, "xmax": -12495, "ymax": 6712279, "spatialReference": { "wkid": 102100} });

            map = new esri.Map("map", { extent: initExtent });

            var basemap = new esri.layers.ArcGISTiledMapServiceLayer("http://server.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer");

            map.addLayer(basemap);

 

            dojo.connect(map, 'onLoad', function (theMap) {

                dojo.connect(dijit.byId('map'), 'resize', map, map.resize);

            });

        }

        dojo.addOnLoad(init);

    </script>

</head>

<body class="claro">

    <div dojotype="dijit.layout.BorderContainer" design="headline" gutters="false" style="width: 100%;

        height: 100%; margin: 0;">

        <div id="map" dojotype="dijit.layout.ContentPane" region="center" style="overflow: hidden;">

        </div>

    </div>

</body>

</html>

  使用浏览器访问测试页面,如果地图显示正常那代表部署已经成功,否则请检查配置信息是否修改正确和完整。

  

  同时,在浏览器中访问 http://localhost:2000/arcgis_js_api/sdk/ 还可以查看地图API文档。