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

xml

  上一讲,我们实现了电子地图中如何在线标注地名功能(参阅《Flash+ASP实现电子互动地图在线标注功能》),本例我们一讲中我们学习实现按地名名称查询及定位功能。

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

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

图1 查询功能的界面

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

  XMLData.xml的内容如下:

(略)……

<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>

(略)……

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

input_text="请输入地名"; //初始化输入文本框

var XMLData_xml:XML = new XML(); //装载外部XMLData_xml文件

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

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

function XMLData() { //定义查询XMLData()函数

var input =_root.XMLData_mc.input_txt.text; //输入的地名名称

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

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

var childItems:Array = XMLData_xml.firstChild.childNodes;

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

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

if (sn==input) { //如果输入与xml地名相符

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

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

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

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

_root.map_mc._y = 213-50*(10000*sy/1086848-213);

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

  打开“查询”按钮的动作面板,输入以下ActionScript代码:

on (release) { //当鼠标释放时
XMLData(); //调用“查询”函数
}

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

开发定位功能实现">

图2 查询到地名,地图做出相应的缩放和移动操作

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

时间: 2024-11-02 19:24:07

Flash+XML实现电子地图查询及定位功能的相关文章

Firefox3.5五大杀手级功能:定位功能

导读:国外媒体今天撰文称,Mozilla周二正式发布了Firefox 3.5浏览器(点击下载),该产品提供70种语言,在全球各地都受到了热烈追捧.该产品发布几个小时候后的下载量就超过了100万次,且仍在以每秒近百次的速度递增.以下就是这款产品的五大杀手级功能: 1.新的JavaScript引擎:TraceMonkey 对于Firefox 3.5而言,最受追捧的当属全新的JavaScript引擎TraceMonkey了.据悉,在运行Google Docs或Meebo这类包含大量JavaScript

SSH框架网上商城项目第5战之商品类别级联查询和分页功能_java

上文我们完成了EasyUI菜单的实现,点击这里查看,这一节我们主要来写一下CategoryServiceImpl实现类,完成数据库的级联查询.一般项目从后往前做,先做service(我们没有抽取Dao,最后再抽取),做完了再做上面层. 在写之前,先看一下数据库中的表的情况: drop database if exists shop; /*创建数据库,并设置编码*/ create database shop default character set utf8; use shop; /*删除管理员

JavaScript微信定位功能实现方法_javascript技巧

分享下微信是如何定位的: 本文主要讲解如何利用微信定位,如何将定位到的经纬度转换为百度地图对应的经纬度,以及处理定位失败.取消及错误时的默认做法. //获取地理位置信息start //封装成一个函数 function getPosition() { //用ajax请求 $.ajax({ url: "/wechat/jssdk",//请求地址 type: 'post',//post请求 dataType: 'json', contentType: "application/x-

flash+xml实现图片切换效果

种效果flash+xml实现图片切换效果,大部分采用遮照,遮照其实不是很难.这里有一个难点主要是加载图片,以及解析XML.其他的都比较简单. OK,看看过程吧. 1.将FLASH文件大小设为800*230,这里主要是根据你想让FLASH占多大的广告来决定的.比如你FLASH希望大一点,就可以大一些.相反呢,就可以设小一点.把背景设成黑色,然后把帧频改为60.这里就不多说了,主要是考虑动画的流畅性. 2.创建一个新元件"my_mc",然后设成可以在AS中导入的.即在AS链接处打上勾 1,

微信定位功能慎用:可被定位行踪 已有微信定位犯罪

利用微信"附近的人"功能,连续变换3次以上位置,再辅以http://www.aliyun.com/zixun/aggregation/30472.html">电子地图,就能定位出其他微信用户在哪儿!记者试验确认这一网络传言属实,并请数学专家解读其中的原理. 本市已发生多起因微信定位引发的犯罪,其中发生在朝阳区的最多.记者将试验报告交给朝阳法院,受到关注. 今天上午,朝阳法院发布安全提示,法官希望通过本报提醒微信用户谨慎使用定位功能,防止受到犯罪侵害. 网上传言 微信能定

【微博聚焦】史玉柱:我的10大管理心得 微信定位功能慎用!

1&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;  周鸿祎:很多人不缺情商智商 缺"胆商" 近日,奇虎360董事长周鸿祎在接受东方财富网专访时谈及创新时,表示很多人的情商都够,智商也不缺,但还需要一样东西,就是内心的强大,所谓的"胆商". 而事实上,所有的颠覆式创新,都是从一个很小的点切入,这个点小到行业巨头对此根本不屑一顾.所以很多颠覆式创新刚开始都是微创新,甚至颠覆者本

Android定位功能

废话不多说,直接开始说说与实现Android定位有关的API吧. 这些API都在android.location包下,一共有三个接口和八个类.它们配合使用即可实现定位功能.   三个接口: GpsStatus.Listener: 这是一个当GPS状态发生改变时,用来接收通知的接口. GpsStatus.NmeaListener: 这是一个用来从GPS里接收Nmea-0183(为海用电子设备制定的标准格式)信息的接口. LocationListener: 位置监听器,用于接收当位置信息发生改变时从

(十八)WebGIS中清空功能和地图定位功能的设计以及实现

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 当地图中增加了很多元素后,对不同的元素需要进行一定的控制,最简单的控制就是能对元素有选择的进行清空删除.在本节中,还将介绍WebGIS中另外一个常用功能,即地图定位功能.具体描述便是:当输入一个坐标点后,能够将地图缩放到该点处.下面我便就以上两个功能展开此章节的内容. 2.清空功能 2.1设计思路 根据功能点,我们可以将清空分为如下几个情形: a.清空某个或

ios-大神留步!!!iOS能不能关闭GPS定位而只开启其他的定位功能?

问题描述 大神留步!!!iOS能不能关闭GPS定位而只开启其他的定位功能? 在开发过程中想要测试下,如果不开启GPS定位功能,用其他定位服务是否也能实现定位功能. 但是手机测是时候如果关闭定位服务的话,就把所有的定位功能都关闭了.有没有一种方法关闭GPS而只检测WiFi定位之类的办法,还是应该在代码中添加什么关闭GPS定位服务的代码吗??? 解决方案 iOS中GPS定位 解决方案二: 明确告诉你,你没有大量的地理信息,所以绝对不可以,你可以提示用户