国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

Flash+ASP實(shí)現(xiàn)電子互動(dòng)地圖在線標(biāo)注功能

2019-11-18 16:53:26
字體:
供稿:網(wǎng)友
由于電子互動(dòng)地圖的信息量太大,完全可以通過客戶端的廣大操作者一同完成海量的標(biāo)注工作,這樣就必須實(shí)現(xiàn)在線標(biāo)注的功能。而這樣的功能單獨(dú)依靠Flash本身是無法實(shí)現(xiàn)的。我們可以通過aspasp.net、php等協(xié)助實(shí)現(xiàn)。在本例中,我們使用ASP來共同實(shí)現(xiàn)在線標(biāo)注功能。

  1、基本的通信過程


圖1 SWF+xml與服務(wù)器的通信過程示意圖
點(diǎn)擊看大圖

   圖1展示的是本例中的通信過程示意。在 Flash 和數(shù)據(jù)庫之間傳遞信息的服務(wù)器端腳本以 XML 格式讀寫數(shù)據(jù)。
  可用 ActionScript 將 SWF 文件中收集到的信息轉(zhuǎn)換成一個(gè) XML 對(duì)象,然后將數(shù)據(jù)作為 XML 文檔發(fā)送到服務(wù)器端腳本。您還可以使用ActionScript 將服務(wù)器返回的 XML 文檔加載到 XML 對(duì)象中,以在 SWF 文件中使用該文檔。其中在本例中,保存相關(guān)的XML數(shù)據(jù)是由服務(wù)器的腳本程序來完成的,這也是本例的重點(diǎn)學(xué)習(xí)內(nèi)容。

  2、flash與ASP間的通信方法

  flash與ASP通信之間可以使用多種通信方法,本例中使用了LoadVars對(duì)象。
  LoadVars可以通過使用POST方法提供了一種向服務(wù)器輸送變量。

  3、服務(wù)器腳本

   服務(wù)器腳本可以由多種程序編寫,本例中以ASP為例編寫相關(guān)的腳本。
  Microsoft Active Server Pages (ASP) 是服務(wù)器端腳本編寫環(huán)境,使用它可以創(chuàng)建和運(yùn)行動(dòng)態(tài)、交互的 Web服務(wù)器應(yīng)用程序。
  編寫腳本程序要使用相關(guān)的腳本語言;腳本語言是介于 HTML 和 java、C++ 和 Visual Basic 之類的編程語言 之間的語言。HTML 通常用于格式化文本和鏈接網(wǎng)頁。編程語言通常用于向計(jì)算機(jī)發(fā)送一系列復(fù)雜指令。腳本語言也可用來向計(jì)算機(jī)發(fā)送指令,但它們的語法和規(guī)則沒有可編譯的編程語言那樣嚴(yán)格和復(fù)雜。腳本語言主要用于格式化文本和使用以編程語言編寫的已編譯好的組件

   ASP使 Web 開發(fā)商用多種腳本語言編寫完整的過程成為可能。事實(shí)上,在單個(gè) .asp 文件內(nèi)部就可以使用多種腳本語言。

   我們可以使用任意一種其相應(yīng)的腳本引擎已安裝在 Web 服務(wù)器上的腳本語言。通常使用VBScript和Javascript這兩種語言;其中,ASP默認(rèn)的腳本語言為VBScript。本例就用VBScript編寫腳本。

  下面我們看看具體的實(shí)例制作。
  實(shí)例制作:

  1、Flash端


  首先創(chuàng)建如下界面,捕捉標(biāo)注點(diǎn)的代碼在上一講中已經(jīng)提到,本例只是除了地名名稱之外,再增加一些基本的信息,方法雷同,這里就不再重復(fù);最終將需要保存的代碼賦給字符串變量SendData_srt。


圖2 SWF文件界面1
點(diǎn)擊看大圖

圖3 SWF文件界面2

   以一個(gè)名為L(zhǎng)ink的變量來接受來自服務(wù)器的消息。如果其值為1,表明與服務(wù)器端的通信連接成功。使用
LoadVars,再使用sendAndLoad方法將一個(gè)LoadVars的實(shí)體下的數(shù)據(jù)發(fā)送出去。

   打開時(shí)間軸的動(dòng)作面板,輸入以下ActionScript代碼:

function SendData():Void { //定義發(fā)送數(shù)據(jù)的函數(shù)

var SendData = new LoadVars(); //構(gòu)造一個(gè)新的LoadVars對(duì)象

SendData.Check = 1; //設(shè)定Check的動(dòng)作,用于服務(wù)器驗(yàn)證

SendData.data = SendData_srt; //將待發(fā)送的數(shù)據(jù)變量SendData_srt賦給data

output_txt.text = "請(qǐng)稍候……"; //狀態(tài)文本顯示為"請(qǐng)稍候……"

SendData.onLoad = function(success) { //驗(yàn)證和服務(wù)器連接的函數(shù)

if (success) { //如果和服務(wù)器成功連接

if (this.Link== "1") { //如果驗(yàn)證動(dòng)作成功

output_txt.text = "成功標(biāo)注!審核后即可生效。"; //狀態(tài)文本顯示為成功

}

}

else {

output_txt.text = "服務(wù)器忙,請(qǐng)稍后再試!";

//如果和服務(wù)器連接不成功則返回失敗消

}

};

SendData.sendAndLoad("http://www.wanggesz.com/XMLData/Save.asp", SendData, "post");

//以post方式發(fā)送待保存數(shù)據(jù)

}

  2、編寫服務(wù)器腳本(ASP)

   創(chuàng)建一個(gè)ASP文件,其內(nèi)容如下:

<%@Language="VBScript"%>

<%

Dim Check '定義Check變量,用來驗(yàn)證來自SWF文件的數(shù)據(jù)

Dim Link '定義Link變量,用來返回給SWF文件,表明通信成功

Dim data '定義data變量,用來接收來自SWF文件的待保存數(shù)據(jù)

set data = Request.Form("data") '接收來自SWF文件的待保存數(shù)據(jù)

set Check = Request.Form("Check") '驗(yàn)證來自SWF文件的數(shù)據(jù)

if Check = 1 Then '如果SWF文件身份正確

Link = 1 '將Link值設(shè)為1,表明通信成功

End if '結(jié)束if語句

Set xml=Server.CreateObject("Microsoft.XMLDOM")
'創(chuàng)建一個(gè)對(duì)象用以操作XML文件

xml.Async=False

xml.ValidateOnParse=False

xml.Load(server.mapPath("http://www.wanggesz.com/XMLData/data.xml"))
'加載xml文件

set newNode=mxml.createNode ("element", "data", "")
'創(chuàng)建新節(jié)點(diǎn)newNode,并命為為data

root.appendChild(newNode)
'在上面得到的加載進(jìn)來的XML文件的根節(jié)點(diǎn)后追加一個(gè)新建的節(jié)點(diǎn)newNode,

Set objname = mxml.createAttribute("data")
'為新建的節(jié)點(diǎn)創(chuàng)建屬性項(xiàng)objname.Text = data '為新建屬性項(xiàng)添加屬性值

xml.save(server.mapPath("http://www.wanggesz.com/XMLData/data.xml"))
'在指定的路徑保存XML文件,

Response.write"Link"&Link '將Link=1返回給SWF文件

%>


   這樣我們依次完成了對(duì)地圖的操作、地名的標(biāo)注等功能;而在地圖的使用過程中,用地名名稱進(jìn)行查詢及定位是也一個(gè)必不可少的常用功能。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 郁南县| 洪湖市| 化隆| 甘德县| 新蔡县| 莎车县| 安泽县| 雷州市| 玛纳斯县| 周口市| 漳州市| 六盘水市| 黎城县| 禹城市| 北碚区| 井冈山市| 宽城| 宿州市| 芜湖县| 大化| 政和县| 新巴尔虎左旗| 乌兰浩特市| 牙克石市| 秦皇岛市| 普宁市| 柯坪县| 喀什市| 聂拉木县| 朝阳县| 酉阳| 苗栗县| 彩票| 平罗县| 永善县| 扎赉特旗| 陆丰市| 金秀| 藁城市| 汶川县| 阿克|