在上一讲中,我们介绍了制作最简单的Flash电子地图的基本步骤(《Flash互动电子地图制作手册-入门示例》)。 然而,对于数据量大的大型城市地图的制作,直接在Flash环境中手动创建地名标注内容不仅工作量巨大,而且维护和更新也很不方便。 因此必须利用外部数据文件来辅助完成地名标注工作。 当然,调用数据文件的方式有很多种。 这里介绍一种更简单的,就是调用FLASH中的外部XML数据文件。点击查看更多精彩的Flash例子
由于涉及到XML文件,所以有必要对XML有一个初步的了解。
1. XML简介
1.什么是XML?
XML是英文缩写,中文意思是可扩展标记语言。 XML 是一组定义语义标记的规则,将文档划分为多个部分并标识这些部分。 它也是一种元标记语言,即它定义了一种语法语言,用于定义其他特定于领域的、语义的和结构化的标记语言。
2.XML文件格式
下面是一个XML文件结构,有点类似于HTML语言:
0-33
34-66
67-99
2.如何在Flash中调用XML文件
Flash中的.0有许多用于调用XML的全局函数和方法属性。 下面仅介绍本例涉及的内容:
1.创建XML对象:
var myXML = new XML();
2.引用XML文件:
myXML.load("data.xml");
3.忽略空格:
myXML。 = true;//默认为false
4.处理XML对象的加载(XML.load方法)
加载(网址:):
从指定的 URL 加载 XML 文档,并用下载的 XML 数据替换指定 XML 对象的内容。 URL 是相对的,并且使用 HTTP 进行调用。 加载过程是异步的; 执行 load() 方法后不会立即结束。
当执行 load() 方法时,XML 对象的属性将设置为 false。 下载 XML 数据后,该属性设置为 true 并调用事件处理程序。 XML 数据完全下载后才会开始分析。 如果 XML 对象先前包含任何 XML 树,它们将被丢弃。
您可以定义在调用 XML 对象的事件处理程序时执行的自定义函数。
5. XML对象的处理(XML.处理函数)
= (:) {}
当从服务器接收到 XML 文档时由 Flash 调用。 如果成功接收 XML 文档,则该参数为 true。 如果未收到文档,或者接收服务器响应时发生错误,则该参数为 false。 默认情况下,该方法的实现不活跃。 要覆盖默认实现,您必须指定包含自定义操作的函数。
3. 示例制作
初步了解了上述XML基础知识后,我们就可以按照前面例子的步骤来完成地名标注工作了:
1、创建地名标注的XML文件:首先我们需要创建一个包含需要标注的地名信息的文件,即包括地名、地名坐标等基本信息。 在本例中,我们仅创建一个示例性的XML文件格式的地名信息数据文件,其内容如下:
注:122、63项为地名; 第122项和第63项是地名的X轴和Y轴坐标。 它们的坐标值的推导将在以后的例子中详细解释。
2.Flash调用的代码
打开Flash,将以下代码添加到上一讲的地图底图所在图层的时间轴中:
var :XML = 新 XML(); //创建XML对象
。 =真; //忽略空格:
。 = (:):无效 {
if () { //如果调用成功
var:数组=..; //定义数据组
var f = 0; //定义MC深度的变量
for (var i:= 0; i var x=[i].[1].[0]. //获取X坐标值
var y=[i].[2].[0]。 //获取Y坐标值
_root...("路"+i, f, x, y, 1, 1); //创建地名文本
p=eval("道路"+i); //将文本框变量的名称赋给p
p。 =“左”; //指定文本的对齐方式
p.text = [i].[0].[0]。 ; //获取地名
f=f+1; //MC深度自动加1
.load("road.xml"); //调用XML文件:
注意:XML文件的路径使用相对路径。 该路径是XML文件相对于调用Flash文件的网页文件的路径。 也就是说,在本例中,调用Flash地图文件的网页文件必须与Road.xml文件放在同一位置。 路径,否则 Flash 将无法调用 XML 文件。
发布后效果如下:
调用外部XML文件添加地名
这样Flash文件只提供电子地图的基本结构,外部的road.xml文件提供地名标注信息。 例如,删除、添加、更正地名时,只需对XML文件进行相应的修改即可。 ,并且Flash文件不需要任何更改。 这大大减少了维护和更新的工作量。
以上是Flash调用外部XML文件的基本步骤; 当然,本例中我们调用的是编辑好的XML数据文件,获取地图上海量地名的坐标值也可以在Flash环境中获取。 (编辑:五月)