佳木斯湛栽影视文化发展公司

主頁 > 知識(shí)庫 > [圖]Flash+ASP實(shí)現(xiàn)電子互動(dòng)地圖在線標(biāo)注功能

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

熱門標(biāo)簽:服務(wù)器配置 阿里云 Linux服務(wù)器 團(tuán)購(gòu)網(wǎng)站 銀行業(yè)務(wù) 電子圍欄 科大訊飛語音識(shí)別系統(tǒng) Mysql連接數(shù)設(shè)置
于電子互動(dòng)地圖的信息量太大,完全可以通過客戶端的廣大操作者一同完成海量的標(biāo)注工作,這樣就必須實(shí)現(xiàn)在線標(biāo)注的功能。而這樣的功能單獨(dú)依靠Flash本身是無法實(shí)現(xiàn)的。我們可以通過ASP、ASP.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è)必不可少的常用功能。

標(biāo)簽:江蘇 大理 蚌埠 廣元 萍鄉(xiāng) 棗莊 衡水 衢州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《[圖]Flash+ASP實(shí)現(xiàn)電子互動(dòng)地圖在線標(biāo)注功能》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    武威市| 大化| 应城市| 岚皋县| 房产| 鲁甸县| 亚东县| 梓潼县| 武鸣县| 华容县| 庆安县| 玛曲县| 衡南县| 会理县| 丰镇市| 开封县| 隆子县| 县级市| 博客| 景德镇市| 汶川县| 凤翔县| 英吉沙县| 任丘市| 望都县| 嘉兴市| 河南省| 崇义县| 新泰市| 洪洞县| 屯门区| 册亨县| 项城市| 磐石市| 石林| 建水县| 汶上县| 宁陕县| 泰顺县| 汝州市| 安义县|