专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Flash教程 » 地图标注:Flash+ASP实现电子互动地图在线标注功能 »正文

地图标注:Flash+ASP实现电子互动地图在线标注功能

来源: 发布时间:星期五, 2009年1月23日 浏览:13次 评论:0
  在本例中我们使用ASP来共同实现在线标注功能

  1、基本通信过程

  

  图1 SWF+XML和服务器通信过程示意图

   图1展示是本例中通信过程示意在 Flash 和数据库的间传递信息服务器端脚本以 XML 格式读写数据

  可用 ActionScript 将 SWF 文件中收集到信息转换成个 XML 对象然后将数据作为 XML 文档发送到服务器端脚本您还可以使用ActionScript 将服务器返回 XML 文档加载到 XML 对象中以在 SWF 文件中使用该文档其中在本例中保存相关XML数据是由服务器脚本来完成这也是本例重点学习内容

  2、flash和ASP间通信思路方法

  flash和ASP通信的间可以使用多种通信思路方法本例中使用了LoadVars对象

  LoadVars可以通过使用POST思路方法提供了种向服务器输送变量

  3、服务器脚本

   服务器脚本可以由多种编写本例中以ASP为例编写相关脚本

  Microsoft Active Server Pages (ASP) 是服务器端脚本编写环境使用它可以创建和运行动态、交互 Web服务器应用

  编写脚本要使用相关脚本语言;脚本语言是介于 HTML 和 Java、C 和 Visual Basic 的类编程语言 的间语言HTML 通常用于格式化文本和链接网页编程语言通常用于向计算机发送系列复杂指令脚本语言也可用来向计算机发送指令但它们语法和规则没有可编译编程语言那样严格和复杂脚本语言主要用于格式化文本和使用以编程语言编写已编译好组件

   ASP使 Web 开发商用多种脚本语言编写完整过程成为可能事实上在单个 .asp 文件内部就可以使用多种脚本语言

   我们可以使用任意种其相应脚本引擎已安装在 Web 服务器上脚本语言通常使用VBScript和JavaScript这两种语言;其中ASP默认脚本语言为VBScript本例就用VBScript编写脚本

  下面我们看看具体例子制作

  1、Flash端     首先创建如下界面捕捉标注点代码在上讲中已经提到本例只是除了地名名称的外再增加些基本信息思路方法雷同这里就不再重复;最终将需要保存代码赋给串变量SendData_srt

  

  图2 SWF文件界面1

  

  图3 SWF文件界面2

   以个名为Link变量来接受来自服务器消息如果其值为1表明和服务器端通信连接成功使用

  LoadVars再使用sendAndLoad思路方法将个LoadVars实体下数据发送出去

   打开时间轴动作面板输入以下ActionScript代码:

function SendData:Void { //定义发送数据
var SendData = LoadVars; //构造个新LoadVars对象
SendData.Check = 1; //设定Check动作用于服务器验证
SendData.data = SendData_srt; //将待发送数据变量SendData_srt赋给data
output_txt.text = "请稍候……"; //状态文本显示为"请稍候……"
SendData.onLoad = function(success) { //验证和服务器连接
(success) { //如果和服务器成功连接
(this.Link "1") { //如果验证动作成功
output_txt.text = "成功标注!审核后即可生效"; //状态文本显示为成功
}
}
{
output_txt.text = "服务器忙请稍后再试!";
//如果和服务器连接不成功则返回失败消
}
};
SendData.sendAndLoad("http://www.wanggesz.com/XMLData/Save.asp", SendData, "post");
//以post方式发送待保存数据
}
  2、编写服务器脚本(ASP)    创建个ASP文件其内容如下:

<%@Language="VBScript"%>
<%
Dim Check '定义Check变量用来验证来自SWF文件数据
Dim Link '定义Link变量用来返回给SWF文件表明通信成功
Dim data '定义data变量用来接收来自SWF文件待保存数据
data = Request.Form("data") '接收来自SWF文件待保存数据
Check = Request.Form("Check") '验证来自SWF文件数据
Check = 1 Then '如果SWF文件身份正确
Link = 1 '将Link值设为1表明通信成功
End '结束语句
Set xml=Server.CreateObject("Microsoft.XMLDOM")
'创建个对象用以操作XML文件
xml.Async=False
xml.ValidateOnParse=False
xml.Load(server.mapPath("http://www.wanggesz.com/XMLData/data.xml"))
'加载xml文件
Node=mxml.createNode ("element", "data", "")
'创建新节点Node,并命为为data
root.appendChild(Node)
'在上面得到加载进来XML文件根节点后追加个新建节点Node,
Set objname = mxml.createAttribute("data")
'为新建节点创建属性项objname.Text = data '为新建属性项添加属性值
xml.save(server.mapPath("http://www.wanggesz.com/XMLData/data.xml"))
'在指定路径保存XML文件,
Response.write"Link"&Link '将Link=1返回给SWF文件
%>
   这样我们依次完成了对地图操作、地名标注等功能;而在地图使用过程中用地名名称进行查询及定位是也个必不可少常用功能

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: