目的:
1.ArcGIS API for JavaScript实现Toc功能,图层列表的显示以及图层可见性的控制。
准备工作:
1.在ArcGIS.Server.9.3发布一个叫usa的Map Service,并且把这个Service启动起来
完成后的效果图:

ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Toc功能(二)
开始
0.本例子开始采用Esri提供的在线的jsapi了没有用本地的服务服务端jsapi原因是我只有1.0的jsapi了,在线的已经更新到1.1了。
1.启动vs新建名为MapToc的ASP.NET Web应用程序。其实jsapi是纯客户端的开发了不需要vs也不需要.net了,纯html页面就可以了用记事本都可以开发了。我这里为了方便了就用vs2008了,毕竟可以调试js脚本了。
2.然后在Default.aspx页面里添加对js库和css文件的引用了,这里的引用地址指向在线的jsapi服务了,包括css和js两部分的引用,具体的说明和代码如下:

ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Toc功能(二)<link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/1.1/js/dojo/dijit/themes/tundra/tundra.css">
ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Toc功能(二)    
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=1.1"></script>

3.接着在工程中添加名为javascript的文件夹并且在这个文件夹里新建mapApp.js的文件,这里用来编写我们自己的js代码了,在页面里添加对这个js文件的引用,同时在页面里添加一个id为map的div标签作为地图控件的载体,具体代码如下:

4.完成显示部分后切换到mapApp.js中编写功能代码, 代码的代码的功能是载入我们上面发布的usa的地图图层在map控件中进行显示,同时在map控件右边的id为toc的td内容显示地图图层列表,具体的说明代码的注释已经非常详细了,具体代码:
ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Toc功能(二)//引入命名空间
ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Toc功能(二)
dojo.require("esri.map");
ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Toc功能(二)
//用来记录显示图层的id用
ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Toc功能(二)
var visible = [];
ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Toc功能(二)
//ArcGISDynamicMapServiceLayer
ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Toc功能(二)
var dynamicMapServiceLayer=[];
ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Toc功能(二)
//地图初始化方法
ArcGIS.Server.9.3和ArcGIS API for JavaScript实现Toc功能(二)
function init() 
dojo.addOnLoad(init);
5.这样就完成了toc的功能,能控制地图图层的显示。

相关文章: