初学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>