flex调用webservices查询中国城市天气返回的是数组类型
发布时间:2020-12-15 04:18:38 所属栏目:百科 来源:网络整理
导读:初学flex,请大家多多指教 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx ?xml version="1.0" encoding="utf-8"?s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library:/
初学flex,请大家多多指教
http://www.webxml.com.cn/WebServices/WeatherWebService.asmx
<?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/flex/spark" xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="init()"> <fx:Script> <![CDATA[ import mx.controls.Alert; import mx.collections.ArrayCollection; import mx.rpc.events.ResultEvent; import mx.rpc.soap.LoadEvent; import mx.rpc.soap.WebService; public var web:WebService; import spark.events.IndexChangeEvent; public function init():void { web=new WebService(); web.wsdl="http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?WSDL"; web.loadWSDL(); web.addEventListener(LoadEvent.LOAD,getConn); web.getSupportProvince();//webservices中的方法 web.getSupportProvince.addEventListener(ResultEvent.RESULT,getProvince); } public function getConn(event:Event):void { lblState.text+="连接成功"; } public function getProvince(event:ResultEvent):void { var provinces:ArrayCollection=new ArrayCollection(); provinces=event.result as ArrayCollection; cmbProvince.dataProvider=provinces; cmbProvince.selectedIndex=0; } protected function cmbProvince_changeHandler(event:IndexChangeEvent):void { web.getSupportCity(cmbProvince.selectedItem); web.getSupportCity.addEventListener(ResultEvent.RESULT,getCity); } public function getCity(event:ResultEvent):void { var cities:ArrayCollection=new ArrayCollection(); cities=event.result as ArrayCollection; cmbCity.dataProvider=cities; cmbCity.selectedIndex=0; } protected function cmbCity_changeHandler(event:IndexChangeEvent):void { var cityTemp:String=cmbCity.selectedItem; var city:String=cityTemp.substring(0,cityTemp.indexOf("(")); web.getWeatherbyCityName(city); web.getWeatherbyCityName.addEventListener(ResultEvent.RESULT,getWeather); } public function getWeather(event:ResultEvent):void { var msg:ArrayCollection=new ArrayCollection(); msg=event.result as ArrayCollection; txtMsg.text=""; for(var i:int=0;i<msg.length;i++) { txtMsg.text+=i+":"+msg[i]+"n"; } img1.source="../flex_src/weather/a_"+msg[8]; img2.source="../flex_src/weather/a_"+msg[9]; } ]]> </fx:Script> <s:layout> <s:BasicLayout/> </s:layout> <fx:Declarations> <!-- 将非可视元素(例如服务、值对象)放在此处 --> </fx:Declarations> <s:ComboBox x="31" y="54" id="cmbProvince" change="cmbProvince_changeHandler(event)"/> <s:ComboBox x="205" y="54" id="cmbCity" change="cmbCity_changeHandler(event)"/> <s:TextArea x="31" y="97" width="320" height="466" id="txtMsg"/> <s:Label x="32" y="21" text="连接状态:" width="320" height="26" id="lblState" fontSize="16"/> <mx:Image x="379" y="97" width="90" height="83" id="img1"/> <mx:Image x="379" y="214" width="90" height="91" id="img2"/> </s:Application> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |