Flash+XML实现电子地图查询及定位功能
本例要實現的功能分成“查詢”和“定位”兩部分,查詢功能通過調用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電子地圖制作實例系列就結束了。當然,電子地圖的功能還可以更加豐富,比如公交查詢、最佳路徑查詢、分類信息查詢等等。但縮放、移動、標注、測距和查詢是所有的電子地圖的基本的功能。只要掌握了這些基本功能的制作方法,就可以制作出比較合格的電子地圖。
總結
以上是生活随笔為你收集整理的Flash+XML实现电子地图查询及定位功能的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正确区分二维动画和三维动画的区别!
- 下一篇: MRC与QA在信息抽取任务中的相关应用总