上一講,我們實(shí)現(xiàn)了電子地圖中如何在線標(biāo)注地名功能(參閱《Flash+ASP實(shí)現(xiàn)電子互動(dòng)地圖在線標(biāo)注功能?》),本例我們一講中我們學(xué)習(xí)實(shí)現(xiàn)按地名名稱查詢及定位功能。
本例要實(shí)現(xiàn)的功能分成“查詢”和“定位”兩部分,查詢功能通過(guò)調(diào)用XML文件的數(shù)據(jù)一一比對(duì)實(shí)現(xiàn)。定位功能通過(guò)將地圖進(jìn)行適當(dāng)?shù)目s放和移動(dòng),將被查詢到的地名顯示在窗口的中央位置來(lái)實(shí)現(xiàn)。
[1b] 制作步驟:[/1b]
制作如圖所示的界面;

圖1 查詢功能的界面
用input_txt動(dòng)態(tài)文本框接收輸入的地名名稱。用載入的外部文件XMLData.xml,依次將地名與input_txt.text比較,如果兩個(gè)地名相符,取相對(duì)應(yīng)的X、Y軸坐標(biāo)值,將地圖做相應(yīng)的縮放及移動(dòng)操作。在本例中地圖將做放大50倍,同時(shí)將地圖中心移動(dòng)至被查詢的地名。
XMLData.xml的內(nèi)容如下:
(略)……
金鼎輝煌世紀(jì)3748833882
文錦大廈3819433651
聯(lián)城聯(lián)合大廈3840233771
外貿(mào)輕工大廈3823332624
友聯(lián)工業(yè)大廈1380243238
[1b]羅湖中學(xué)3722534520[/1b]
東莞外貿(mào)大廈3731433971
麗都大廈3744233995
東樂大廈3774633549
鴻昌廣場(chǎng)3799633504
(略)……
打開時(shí)間軸的動(dòng)作面板,輸入以下ActionScript代碼:
input_text="請(qǐng)輸入地名"; //初始化輸入文本框
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()函數(shù)
var input =_root.XMLData_mc.input_txt.text; //輸入的地名名稱
if (input=="") {_root.XMLData_mc.input_txt.text="請(qǐng)輸入地名"}
//如果地名名稱為空,重新要求輸入地名
if (input!="請(qǐng)輸入地名") { //如果正確輸入地名
var childItems:Array = XMLData_xml.firstChild.childNodes;
for (var i=0; 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坐標(biāo)
var sy=childItems[i].childNodes[2].childNodes[0].nodeValue;
//讀入xml文件中的y坐標(biāo)
_root.map_mc._xscale = _root.map_mc._yscale = 5000;
//地圖增大為50倍
_root.map_mc._x = 412.5-50*(10000*sx/1086848-412.5);
//地圖中心點(diǎn)移至所查地點(diǎn)
_root.map_mc._y = 213-50*(10000*sy/1086848-213);
_root.map_mc.roadname01_mc._visible=0; //隱藏標(biāo)注地名
}
}
}
打開“查詢”按鈕的動(dòng)作面板,輸入以下ActionScript代碼:
on (release) { //當(dāng)鼠標(biāo)釋放時(shí)
XMLData(); //調(diào)用“查詢”函數(shù)
}
本文轉(zhuǎn)自:http://www.5uflash.com/flashjiaocheng/Flashyuweb/1121.html
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
