r> <r><n>▌晨光商贸大厦</n><x>265</x><y>62</y></r> <r><n>▌华侨电子大厦</n><x>209</x><y>84</y></r> <r><n>▌佳好商城</n><x>196</x><y>49</y></r> </map>
注:其中与项为地名名称;122与63项为地名标注的x轴与y轴坐标,至于其坐标值的得来将在以后的实例中详细讲解。
2、flash调用的代码
打开flash professional,在上一讲中的地图底图所在层的时间轴上,再补入以下actionscript代码:
var road_xml:xml = new xml(); /建立xml对象 road_xml.ignorewhite = true; /忽略空格: road_xml.onload = function (success:boolean):void { if (success) { /如果调用成功 var childitems:array = road_xml.firstchild.childnodes; /定义数据组 var f=0; /定义mc深度的变量 for (var i:number = 0; i var x=childitems[i].childnodes[1].childnodes[0].nodevalue /获取x坐标值 var y=childitems[i].childnodes[2].childnodes[0].nodevalue /获取y坐标值 _root.map_mc.bzmap_mc.createtextfield("road"+i, f, x, y, 1, 1); /创建地名文本 p=eval("road"+i); /将文本框变量的名称赋给p p.autosize = "left"; /指定文本的对齐方式 p.text = childitems[i].childnodes[0].childnodes[0].nodevalue ; /获取地名名称 f=f+1; /mc深度自动加1 } } }
road_xml.load("road.xml"); /调用xml文件:
注:其中xml文件的路径使用了相对路径,此路径是xml文件相对于调用flash文件的网页文件的路径,即在本例中,调用flash地图文件的网页文件必须与road.xml文件置于相同的路径下,否则flash将无法调用xml文件。
这样,flash文件只提供电子地图的基本构架,由外部的road.xml文件提供地名标注信息,如对地名进行删减、增加、纠错等操作时,只需要对xml文件进行相应的更改就可以了,而flash文件不需要做任何的改动。这样就大大减小了维护、更新的工作量。
以上就是flash调用外部xml文件的基本步骤;当然我们在本例中调用是已经编辑好的xml数据文件,而获取海量地名在地图上的坐标值也同样可以在flash环境中获得。 上一页 [1] [2] [3] |