网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 网管学堂 > 网页设计 > Flash > 制作实例 > Flash+XML实现电子地图查询及定位功能  

Flash+XML实现电子地图查询及定位功能

2006-11-14  作者:网管整理  来源:bitsCN.com  点评 投稿 收藏

本例要实现的功能分成“查询”和“定位”两部分,查询功能通过调用XML文件的数据一一比对实现。定位功能通过将地图进行适当的缩放和移动,将被查询到的地名显示在窗口的中央位置来实现。

  制作步骤:
  制作如图所示的界面;

Flash+XML实现电子地图查询及定位功能 网管联盟bitsCN_com

图1 查询功能的界面

网管bitscn_com

  用input_txt动态文本框接收输入的地名名称。用载入的外部文件XMLData.xml,依次将地名与input_txt.text比较,如果两个地名相符,取相对应的X、Y轴坐标值,将地图做相应的缩放及移动操作。在本例中地图将做放大50倍,同时将地图中心移动至被查询的地名。 网管网www_bitscn_com

  XMLData.xml的内容如下:

网管下载dl.bitscn.com

(略)……

<r><n>金鼎辉煌世纪</n><x>37488</x><y>33882</y></r>
<r><n>文锦大厦</n><x>38194</x><y>33651</y></r>
<r><n>联城联合大厦</n><x>38402</x><y>33771</y></r>
<r><n>外贸轻工大厦</n><x>38233</x><y>32624</y></r>
<r><n>友联工业大厦</n><x>13802</x><y>43238</y></r>
<r><n>罗湖中学</n><x>37225</x><y>34520</y></r>
<r><n>东莞外贸大厦</n><x>37314</x><y>33971</y></r>
<r><n>丽都大厦</n><x>37442</x><y>33995</y></r>
<r><n>东乐大厦</n><x>37746</x><y>33549</y></r>
<r><n>鸿昌广场</n><x>37996</x><y>33504</y></r> 网管bitscn_com

(略)…… 网管下载dl.bitscn.com

  打开时间轴的动作面板,输入以下ActionScript代码:

网管下载dl.bitscn.com

input_text="请输入地名"; //初始化输入文本框 网管联盟bitsCN_com

var XMLData_xml:XML = new XML(); //装载外部XMLData_xml文件 网管网www.bitscn.com

XMLData_xml.ignoreWhite = true; //忽略空白

网管联盟bitsCN_com

XMLData_xml.load("http://www.wanggesz.com/XMLData/XMLData.xml");
//打开指定路径的xml文件

网管u家u.bitscn@com

function XMLData() { //定义查询XMLData()函数 中国网管论坛bbs.bitsCN.com

var input =_root.XMLData_mc.input_txt.text; //输入的地名名称 网管下载dl.bitscn.com

if (input=="") {_root.XMLData_mc.input_txt.text="请输入地名"}
//如果地名名称为空,重新要求输入地名

网管u家u.bitscn@com

if (input!="请输入地名") { //如果正确输入地名

var childItems:Array = XMLData_xml.firstChild.childNodes;

for (var i=0; i <childItems.length; i++) {

网管联盟bitsCN_com

var sn= childItems[i].childNodes[0].childNodes[0].nodeValue ;
//读入xml文件中的地名

if (sn==input) { //如果输入与xml地名相符 网管u家u.bitscn@com

var sx=childItems[i].childNodes[1].childNodes[0].nodeValue;
//读入xml文件中的x坐标

网管联盟bitsCN_com

var sy=childItems[i].childNodes[2].childNodes[0].nodeValue;
//读入xml文件中的y坐标

网管u家u.bitscn@com

_root.map_mc._xscale = _root.map_mc._yscale = 5000;
//地图增大为50倍

中国网管论坛bbs.bitsCN.com

_root.map_mc._x = 412.5-50*(10000*sx/1086848-412.5);
//地图中心点移至所查地点 网管论坛bbs_bitsCN_com

_root.map_mc._y = 213-50*(10000*sy/1086848-213); 网管联盟bitsCN_com

_root.map_mc.roadname01_mc._visible=0; //隐藏标注地名
}
}
}

网管下载dl.bitscn.com

  打开“查询”按钮的动作面板,输入以下ActionScript代码: 中国网管论坛bbs.bitsCN.com

on (release) { //当鼠标释放时
XMLData(); //调用“查询”函数
} 网管u家u.bitsCN.com

  正式发布后,输入“罗湖中学”,查询到相对应的代码为“<r><n>罗湖中学</n><x>37225</x><y>34520</y></r>”,地图自动放大50倍,地图中心移至(37225,34520)。效果如图2所示; 网管u家u.bitsCN.com

Flash+XML实现电子地图查询及定位功能 网管网www.bitscn.com

图2 查询到地名,地图做出相应的缩放和移动操作 中国网管论坛bbs.bitsCN.com

  至此,Flash电子地图制作实例系列就结束了。当然,电子地图的功能还可以更加丰富,比如公交查询、最佳路径查询、分类信息查询等等。但缩放、移动、标注、测距和查询是所有的电子地图的基本的功能。只要掌握了这些基本功能的制作方法,就可以制作出比较合格的电子地图。

网管网www_bitscn_com


TAGs   定位   功能   电子   实现   地名   查询   输入   rn   地图      
 上一篇:没有了   下一篇:Flash绘制人物侧面效果图
Flash+XML实现电子地图查询及定位功能 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: