日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > asp.net >内容正文

asp.net

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

發(fā)布時(shí)間:2024/3/12 asp.net 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Flash+XML实现电子地图查询及定位功能 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

  本例要實(shí)現(xiàn)的功能分成“查詢”和“定位”兩部分,查詢功能通過調(diào)用XML文件的數(shù)據(jù)一一比對(duì)實(shí)現(xiàn)。定位功能通過將地圖進(jìn)行適當(dāng)?shù)目s放和移動(dòng),將被查詢到的地名顯示在窗口的中央位置來實(shí)現(xiàn)。

  制作步驟:

  制作如圖所示的界面;

  

  圖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)容如下:

(略)……

<r><n>金鼎輝煌世紀(jì)</n><x>37488</x><y>33882</y></r>

<r><n>文錦大廈</n><x>38194</x><y>33651</y></r>

<r><n>聯(lián)城聯(lián)合大廈</n><x>38402</x><y>33771</y></r>

<r><n>外貿(mào)輕工大廈</n><x>38233</x><y>32624</y></r>

<r><n>友聯(lián)工業(yè)大廈</n><x>13802</x><y>43238</y></r>

<r><n>羅湖中學(xué)</n><x>37225</x><y>34520</y></r>

<r><n>東莞外貿(mào)大廈</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>鴻昌廣場(chǎng)</n><x>37996</x><y>33504</y></r>

(略)……

  打開時(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 <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坐標(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ù)

}

  正式發(fā)布后,輸入“羅湖中學(xué)”,查詢到相對(duì)應(yīng)的代碼為“<r><n>羅湖中學(xué)</n><x>37225</x><y>34520</y></r>”,地圖自動(dòng)放大50倍,地圖中心移至(37225,34520)。效果如圖2所示;

  

  圖2 查詢到地名,地圖做出相應(yīng)的縮放和移動(dòng)操作

  至此,Flash電子地圖制作實(shí)例系列就結(jié)束了。當(dāng)然,電子地圖的功能還可以更加豐富,比如公交查詢、最佳路徑查詢、分類信息查詢等等。但縮放、移動(dòng)、標(biāo)注、測(cè)距和查詢是所有的電子地圖的基本的功能。只要掌握了這些基本功能的制作方法,就可以制作出比較合格的電子地圖。

總結(jié)

以上是生活随笔為你收集整理的Flash+XML实现电子地图查询及定位功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。