XML辅助Flash互动电子地图标注地名
5699 点击·0 回帖
![]() | ![]() | |||||
![]() | 在上一讲中我们介绍了制作一个最为简单的Flash电子地图的基本步骤(《Flash互动电子地图制作手册——入门实例》)。但对于制作数据量较大的大型城市地图,直接在Flash环境中手动创建地名标注内容不仅工作量巨大,而且维护更新非常不便,这样就必须借助外部数据文件来辅助完成其中的地名标注工作。当然,调用数据文件的方法很多,我们这里介绍一种较为简单的,即在FLASH中调用外部XML数据文件。
既然涉及XML文件,就有必要对XML有一个初步的了解。 一、初识XML 1、什么是XML? XML 是英文Extensible Markup Language的缩写,中文意为可扩展的标记语言。XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识。它也是元标记语言,即定义了用于定义其他与特定领域有关的、语义的、结构化的标记语言的句法语言。 2、XML文件式样 以下为一个XML文件结构,有些类似HTML语言:
二、Flash调用XML文件的方法 Flash中的ActionScript2.0关于调用XML的全局函数与方法属性较多,以下只介绍本例中涉及的内容: 1、建立XML对象: var myXML = new XML(); 2、引用XML文件: myXML.load("data.xml"); 3、忽略空格: myXML.ignoreWhite = true;//默认的为false 4、处理XML对象的load(XML.load 方法) public load(url:String) : Boolean 从指定的 URL 中加载 XML 文档,并使用下载的 XML 数据替换指定 XML 对象的内容。该 URL 是相对 URL,并使用 HTTP 进行调用。加载过程是异步的;它不会在执行 load() 方法后立即结束。 执行 load() 方法时,XML 对象的 loaded 属性被设置为 false。在 XML 数据下载完毕后,loaded 属性被设置为 true,并调用 onLoad 事件处理函数。直到 XML 数据完全下载后,才开始分析。如果该 XML 对象以前包含任何 XML 树,它们将被放弃。 您可以定义一个在调用 XML 对象的 onLoad 事件处理函数时执行的自定义函数。 5、处理XML对象的onLoad(XML.onLoad 处理函数) onLoad = function(success:Boolean) {} 收到来自服务器的 XML 文档时由 Flash Player 调用。如果成功接收了 XML 文档,则 success 参数为 true。如果未收到该文档,或从服务器接收响应时出现错误,则 success 参数为 false。默认情况下,此方法的实现不处于活动状态。若要覆盖默认实现,必须指定一个包含自定义动作的函数。 第1页:初识XML、Flash调用XML文件的方法 第2页:实例制作 三、实例制作 在初步了解了以上XML的基础后,我们就可以紧接上一例的步骤完成地名标注工作: 1、创建用于地名标注的XML文件: 首先我们要创建一个包含关于需要标注的地名信息文件,即包含地名称、地名坐标等基本信息。本例中我们只创建一个示范性的地名信息数据文件,其格式为XML文件格式,内容如下:
注:其中XML文件的路径使用了相对路径,此路径是XML文件相对于调用Flash文件的网页文件的路径,即在本例中,调用Flash地图文件的网页文件必须与Road.xml文件置于相同的路径下,否则Flash将无法调用XML文件。 发布后,效果如下: 调用外部XML文件加注地名 这样,Flash文件只提供电子地图的基本构架,由外部的road.xml文件提供地名标注信息,如对地名进行删减、增加、纠错等操作时,只需要对XML文件进行相应的更改就可以了,而Flash文件不需要做任何的改动。这样就大大减小了维护、更新的工作量。 以上就是Flash调用外部XML文件的基本步骤;当然我们在本例中调用是已经编辑好的XML数据文件,而获取海量地名在地图上的坐标值也同样可以在Flash环境中获得。 下一讲中我们将学习如何在调试环境下辅助编辑标注XML文件的方法。 | |||||
![]() | ![]() |