`
wecbk
  • 浏览: 32537 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

flex调用WebServices实现天气预报

阅读更多

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="horizontal" creationComplete="init(),rightKey()" backgroundImage="images/mcsh.jpg">
 <mx:Style>
  TextArea{
   border:5 double red;
   font-family:华文行楷;
   color:red;
   font-size:12px;
  }
  Label{
      color:#F8A10B;
    }
    Alert{
      font-size:12px;
    }
 </mx:Style>  
 <mx:Script>
  <![CDATA[
   import mx.controls.Alert;
   import mx.collections.ArrayCollection;
   import mx.rpc.events.FaultEvent;
   import mx.rpc.events.ResultEvent;
   import mx.formatters.DateFormatter;      
      import flash.utils.Timer;   
      import flash.events.TimerEvent;
      import flash.ui.ContextMenu;
          import flash.ui.ContextMenuItem;
          import flash.events.ContextMenuEvent;
          //在全局上定义四个菜单条目
      private var myMenuItem1:ContextMenuItem;
      private var myMenuItem2:ContextMenuItem;
      private var myMenuItem3:ContextMenuItem;
      private var myMenuItem4:ContextMenuItem;
      private var myMenuItem5:ContextMenuItem;
      private var myMenuItem6:ContextMenuItem;
      private var myMenuItem7:ContextMenuItem;
      private var myMenuItem8:ContextMenuItem;
      /**
       * 开始初始化鼠标右键
       */
        private function rightKey():void{
          /* ContextMenuItem类的构造函数要传入几个参数,它们分别代表
             1 菜单项的名称
             2 在该菜单项上是否显示分隔条,默认是不显示
             3 是否可用,默认是可用的
             4 是否显示,默认是可显示的
          */
          myMenuItem1 = new ContextMenuItem('麻城一中',true);
          myMenuItem2 = new ContextMenuItem('黄冈中学',true);
          myMenuItem3 = new ContextMenuItem('中国移动湖北网上营业厅',true);
          myMenuItem4 = new ContextMenuItem('湖北省人民政府',true);
          myMenuItem5 = new ContextMenuItem('全国公交查询网',true);
          myMenuItem6 = new ContextMenuItem('感动中国官方网站',true);
          myMenuItem7 = new ContextMenuItem('搜狐体育',true);
          myMenuItem8 = new ContextMenuItem('汽车之家',true);
        
          //添加事件侦听,以此来进行相应的逻辑实现
          myMenuItem1.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
          myMenuItem2.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
          myMenuItem3.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
          myMenuItem4.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
          myMenuItem5.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
          myMenuItem6.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
          myMenuItem7.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
          myMenuItem8.addEventListener(ContextMenuEvent.MENU_ITEM_SELECT,menuItemHandler);
        
          //创建个性化的菜单
          var myMenu:ContextMenu = new ContextMenu();
          myMenu.customItems.push(myMenuItem1);
          myMenu.customItems.push(myMenuItem2);
          myMenu.customItems.push(myMenuItem3);
          myMenu.customItems.push(myMenuItem4);
          myMenu.customItems.push(myMenuItem5);
          myMenu.customItems.push(myMenuItem6);
          myMenu.customItems.push(myMenuItem7);
          myMenu.customItems.push(myMenuItem8);
          //如果要隐藏默认的菜单项,可以这样设置
          myMenu.hideBuiltInItems();
          //这样是整个舞台都可以显示出相应的右键菜单
          this.contextMenu = myMenu;
        }
      //导航逻辑
      private function menuItemHandler(event:ContextMenuEvent):void{
       switch (event.target){
         case myMenuItem1:
          navigateToURL(new URLRequest('http://www.mcyz.com/'));
          break;              
         case myMenuItem2:
          navigateToURL(new URLRequest('http://www.hbshgzx.com/'));
         break;     
         case myMenuItem3:
          navigateToURL(new URLRequest('http://www.hb.chinamobile.com/'));
          break;     
         case myMenuItem4:
          navigateToURL(new URLRequest('http://www.hubei.gov.cn/'));
          break;     
         case myMenuItem5:
          navigateToURL(new URLRequest('http://www.8684.com/'));
          break;     
         case myMenuItem6:
          navigateToURL(new URLRequest('http://www.lovegdzg.com/index.asp'));
          break;
         case myMenuItem7:
          navigateToURL(new URLRequest('http://sports.sohu.com/'));
          break;
         case myMenuItem8:
          navigateToURL(new URLRequest('http://www.autohome.com.cn/'));
          break;
       }
      }
      /**
       * 日期和时间函数
       */            
   private function resetNow(event:TimerEvent):void {      
    // 获取登录时间和日期   
       var dateFormatter:DateFormatter = new DateFormatter();    
       dateFormatter.formatString = "YYYY年MM月DD日 JJ:NN:SS";   
       var time:String = new Date().toLocaleTimeString();   
       var date:String = dateFormatter.format(new Date());   
       this.date.text = date;     
       //this.clock.text = time;   
         }
         private function getDate():void{
          //设定时间
    var timer:Timer = new Timer(1000);      
    timer.addEventListener(TimerEvent.TIMER, this.resetNow);                       
    timer.start();
         }           
   /*根据城市查询天气  */
   private function query():void{
    if(txtCity.text==""){
     Alert.show("对不起,请您输入城市名称","友情提示");
     return;
    }
    wsWeather.getWeatherbyCityName(txtCity.text);
   }
  
   /* 初始化查询北京三天天气 */
   private function init():void{
    wsWeather.getWeatherbyCityName("武汉");
   }
  
   /* 显示今天-明天-后天三天天气 */
   private function resultHandle(evt:ResultEvent):void{
    var arr:ArrayCollection=ArrayCollection(evt.result);    
       this.lblCity.text=arr[0]+"-"+arr[1];
    //今天天气
       this.lblDate.text=arr[6];//日期
       this.lblwd.text="温度:"+arr[5];//温度
       this.lblfl.text=arr[7]; //风力
       this.imgToday.source="images/weather/a_"+arr[8];//图片
       this.imgToday2.source="images/weather/a_"+arr[9];//图片2
       this.taDetail.text="        "+arr[10];
       //明天天气
       this.lblDate1.text=arr[13];
       this.lblwd1.text=arr[12];
       this.lblfl1.text=arr[14];
       this.imgTomorrow.source="images/weather/a_"+arr[15];
       this.imgTomorrow2.source="images/weather/a_"+arr[16];
       this.taDetail1.text=arr[11];
       //后天天气
       this.lblDate2.text=arr[18];
       this.lblwd2.text=arr[17];
       this.lblfl2.text=arr[19];
       this.imgAfterTomorrow.source="images/weather/a_"+arr[20];
       this.imgAfterTomorrow2.source="images/weather/a_"+arr[21];
       this.taDetail2.text="        "+arr[22];
   }
   private function faultHandle(evt:FaultEvent):void{
       Alert.show("很抱歉,请您检查网络连接...");
   }
  ]]>
 </mx:Script>
 <mx:Iris id="iris" target="{weatherPanel}"></mx:Iris>
 <mx:Panel id="weatherPanel" width="620" height="632" layout="absolute" creationCompleteEffect="iris" title="凌晨雨薇--全国城市天气预报" fontSize="12" titleIcon="@Embed('images/weather/0.gif')">
  <mx:HRule x="10" y="65" width="580"/>
  <mx:Label x="76" y="42" text="今 天" width="38" fontWeight="bold" color="#030303"/>
  <mx:Label x="487" y="42" text="后 天" width="42" fontWeight="bold" color="#030303"/>
  <mx:Label x="280.25" y="42" text="明 天" width="43.5" fontWeight="bold" color="#030303"/>
    <mx:Canvas x="10" y="72" width="168" height="196" borderStyle="solid" borderColor="#111AC6">
      <mx:Label x="10" y="10" width="146" id="lblDate"/>
   <mx:Label x="10" y="38" width="146" height="24" id="lblwd"/>
   <mx:Label x="10" y="70" id="lblfl" width="146" height="29"/>
   <mx:Image x="8" y="120" width="70" height="65" id="imgToday"/>
   <mx:Image x="86" y="120" width="70" height="65" id="imgToday2"/>
    </mx:Canvas>
 
  <mx:Canvas x="216" y="72" width="168" height="196" borderStyle="solid" borderColor="#111AC6">
   <mx:Label x="10" y="10" width="146" id="lblDate1"/>
   <mx:Label x="10" y="38" width="146" height="24" id="lblwd1"/>
   <mx:Label x="10" y="70" id="lblfl1" width="146" height="29"/>
   <mx:Image x="8" y="120" width="70" height="65" id="imgTomorrow"/>
   <mx:Image x="86" y="120" width="70" height="65" id="imgTomorrow2"/>
  </mx:Canvas>
 
  <mx:Canvas x="422" y="72" width="168" height="196" borderStyle="solid" borderColor="#111AC6">
   <mx:Label x="11" y="10" width="146" id="lblDate2"/>
   <mx:Label x="10" y="38" width="146" height="24" id="lblwd2"/>
   <mx:Label x="10" y="70" id="lblfl2" width="146" height="29"/>
   <mx:Image x="8" y="119" width="70" height="65" id="imgAfterTomorrow"/>
   <mx:Image x="86" y="119" width="70" height="65" id="imgAfterTomorrow2"/>
  </mx:Canvas>
  <mx:TextInput x="88" y="10" id="txtCity" text="武汉" width="119"/>
  <mx:Button x="215" y="10" label="查 询" id="btnQuery" click="query()" borderColor="#0099ff"/>
  <mx:Label x="10" y="12" text="请输入城市:" width="88"/>
  <mx:Label x="280.25" y="11" width="146" height="24" fontWeight="bold" color="#FD060C" id="lblCity"/>
  <mx:TextArea x="10" y="290" width="580" height="54" id="taDetail" editable="false"/>
  <mx:TextArea x="10" y="366" width="580" height="85" id="taDetail1" editable="false"/>
  <mx:TextArea x="10" y="474" width="580" height="106" id="taDetail2" editable="false"/>
  <mx:Label x="10" y="347" text="指数信息栏" color="#0099ff"/>
  <mx:Label x="10" y="454" id="lblCityInfo" text="{txtCity.text}市简介" color="#0099ff"/>
  <mx:Label x="10" y="271" text="详细天气情况" color="#0099ff"/>
  <!--当前时间-->
  <!--<mx:Text id="clock" text="" creationComplete="this.getDate()" right="1" height="20" width="91" top="11"/>-->      
    <mx:Text id="date" text="" creationComplete="this.getDate()" right="10" height="20" width="167" top="11"/>
 </mx:Panel>
 <mx:WebService id="wsWeather" wsdl="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl" showBusyCursor="true" result="resultHandle(event)" fault="faultHandle(event)"/>
</mx:Application>

分享到:
评论
1 楼 hyx0914 2011-10-13  
没看明白。。。。

相关推荐

    Flex调用Webservice实现天气预报

    在本项目“Flex调用Webservice实现天气预报”中,我们将探讨如何使用Flex作为客户端,通过调用Webservice接口来获取并显示实时的天气信息。这涉及到以下几个关键技术点: 1. **Flex中的HTTPService组件**:Flex提供...

    spring 整合flex,整合webService

    本文将深入探讨Spring如何整合Flex以及如何通过WebServices实现数据通信。 首先,让我们了解Spring与Flex整合的基础。Spring框架提供了多种方式来与Flex客户端进行交互,最常用的是通过HTTP服务和AMF(Action ...

    Flex实现天气预报服务

    在本项目中,“Flex实现天气预报服务”指的是利用Flex的技术来创建一个应用,该应用能够通过调用外部的Web服务接口获取并显示天气预报信息。 Flex中的WebService组件是用于与SOAP(Simple Object Access Protocol)...

    Flex调用Webservice及java程序

    在本主题中,我们将深入探讨如何使用Flex调用Web服务,尤其是与Java程序的交互。 1. **Flex与Web服务的交互** Flex可以通过SOAP(简单对象访问协议)或AMF(动作消息格式)来调用Web服务。SOAP是一种基于XML的通信...

    在线拍照 c# flex+fluorineFx+webservices

    标题中的“在线拍照 c# flex+fluorineFx+webservices”揭示了这是一个基于C#技术,使用Flex前端和FluorineFx作为SOAP Web服务客户端库的在线拍照系统。让我们详细了解一下这些关键技术点。 **C#(Sharp)**: C#是...

    FLEX AIR天气预报查询

    3. **WebService通信**:在Flex应用中,可以使用HTTPService或WebServices组件与远程服务器进行数据交换。在本例中,应用可能通过调用WebService接口来获取实时的天气数据。WebService通常基于SOAP或RESTful协议,能...

    Flex调用WebService例子(Flex工程+ XFire WebService工程)

    Flex调用WebService例子是一个典型的跨平台通信场景,它结合了Adobe Flex前端开发框架与XFire作为后台的Web服务实现。Flex是一种基于ActionScript和MXML的开放源代码框架,用于构建富互联网应用程序(RIA),而...

    Flex调用WebService进行数据查询和显示(调整)

    Flex通过使用HTTPService或WebServices类来调用基于SOAP或RESTful协议的WebService。这两种方法都能实现Flex客户端与服务器端的数据交换,但SOAP通常用于复杂的、结构化的数据交换,而RESTful则更适合简单的数据获取...

    Flex 调用天地图路径规划接口

    Flex调用天地图路径规划接口是一项技术实现,它允许用户在Flex应用程序中通过与天地图服务交互,获取并展示两地之间的公交路线规划。天地图是中国的一款权威地理信息系统,提供了丰富的地图服务,包括基础地图、卫星...

    Flex调用GPservice插值服务

    总的来说,通过Flex调用GP服务实现插值服务,开发者可以利用GIS的强大功能,为Web应用提供复杂的地理数据分析,增强用户体验。这涉及到Flex编程、GIS理论以及ArcGIS Server的使用,是GIS开发中的一个关键技能。

    flex actionscript 调用处理 webservice的过程及方法

    当我们需要与服务器进行数据交互,特别是调用Web服务时,ActionScript提供了强大的支持。本篇文章将详细探讨Flex ActionScript如何调用并处理Web服务的过程和方法。 1. **创建Web服务客户端** 在Flex中,我们可以...

    Flex与Web服务的通讯+交互

    - 一个常见的Flex与Web服务交互示例是在线购物应用,Flex客户端展示商品列表,用户选择商品后,通过Web服务调用实现添加到购物车、结算等功能。 总结,Flex与Web服务的通讯及交互是构建动态Web应用的关键技术,...

    Flex与Web服务的交互

    配置Web服务的元数据后,可以直接在Flex应用中调用Web服务的方法。 总结起来,Flex与Web服务的交互提供了多种方式,包括基础的HTTP(REST)、高效的AMF以及传统的SOAP。开发者可以根据项目需求选择合适的方式来实现...

    Flex实例 Flex基础 Web+Flex+LCDS Flex跟Java交互

    在本压缩包"Flex实例 Flex基础 Web+Flex+LCDS Flex跟Java交互"中,我们可以深入探讨Flex的基础知识、Web与Flex的集成、LCDS的使用以及Flex如何与Java进行数据交互。 1. **Flex基础**:Flex提供了一整套组件库,包括...

    eclipse flex集成web项目

    标题中的“eclipse flex集成web项目”指的是使用Eclipse IDE来开发基于Adobe Flex技术的Web应用程序,并将其与后端服务进行集成的过程。Flex是一种用于构建富互联网应用(RIA)的开源框架,它允许开发者创建交互性强...

    ArcGIS API for Flex 调用天地图源码

    5. **Services**: 通过调用Web服务,可以访问和使用地理数据,例如调用天地图服务。 在调用天地图源码中,关键步骤可能包括: 1. **配置服务URL**: 首先需要获取天地图的WMS或WMTS服务URL,这是调用天地图的基础。...

    flex与数据库交互

    1. **SOAP WebService**:通过WSDL(Web Services Description Language)文件定义服务接口,SOAP消息通常包含在HTTP请求中,数据库操作(如查询、插入、更新、删除)通过在服务端执行的函数实现。 2. **RESTful ...

    myeclipse为web项目添加flex并实现与java通信

    AMF通过 BlazeDS 或 LCDS(LiveCycle Data Services)等中间件来实现,这些中间件为Flex提供了与Java应用服务器的连接。 - ** BlazeDS**:BlazeDS是Adobe提供的一个免费服务器端项目,它允许Flex应用与Java后端...

Global site tag (gtag.js) - Google Analytics