利用Flash+XML制作可后台管理的电子地图

以下文件取名aaa.xml
<?xml version="1.0" encoding="UTF-8"?>
<map>
 <nc id="sco01" url="mail.cnshow.com">
  <p1 na="八一广场" x="320" y="100">
  </p1>
  <p2 na="中山路" x="200" y="200">
  </p2>
  <p3 na="秋水广场" x="300" y="300">
  </p3>
  <p5 na="市政府" x="360" y="200">
  </p5>
 </nc>
</map>


这里是放在第一帧的AS代码
myXML = new XML();          //建立对象
myXML.load("aaa.xml");    //载入文件
myXML.ignoreWhite = true;    //忽略空白
myXML.onLoad = function(success) {   
 if (success) {       //如果载入成功的话
//开始循环
arr_nc = new Array();          //地名数组变量
arr_nc_x = new Array();      //X坐标数组变量
arr_nc_y= new Array();        //Y坐标数组变量
var leng=myXML.childNodes[0].childNodes[0]    //选定读取节点
var f=0   //MC深度的变量
for (var i=0;i<leng.childNodes.length;i++) {        //以子节点熟练判断循环次数
  arr_nc[i] = leng.childNodes[i].attributes.na;     //依次读取当前节点的三项属性,地名 X Y   
  arr_nc_x[i] = leng.childNodes[i].attributes.x;
  arr_nc_y[i] = leng.childNodes[i].attributes.y; 
  _root.createTextField("textBox"+i,f,arr_nc_x[i],arr_nc_y[i],800,20);    //创建用于显示地名的文本框MC
   p=eval("textBox"+i);  //将文本框变量的名称赋给p 
   p.text=arr_nc[i];        //文本框赋值
   p.size = 12               //文本框属性设定
   p.textColor = 0x000000
   f=f+1;                        //MC深度加1
  
   _root.createEmptyMovieClip("aa"+i,f);     //创建用于标识地点的圆点的MC 
   t=eval("aa"+i)
   t.lineStyle( 10, 0xFF0000, 100 );      //设定线条样式
   t.moveTo(arr_nc_x[i],arr_nc_y[i]-3);      //移动画笔的点到相应的位置
   t.lineTo(arr_nc_x[i],arr_nc_y[i]-4);       //画一条很短的线,就是一个圆点
   f=f+1;                  //深度再增加1
  
  
 trace("aa"+i+arr_nc[i]+":"+arr_nc_x[i]+":"+arr_nc_y[i]);    //输出调试信息
  }
}
};
posted on 2005-01-25 13:06  龚祺  阅读(2408)  评论(7编辑  收藏  举报