Flex与外部数据通信URLLoader、HTTPService、 WebService

 
数据源:
<?xml version="1.0" encoding="UTF-8"?>
<Markers>
<Marker>
        <firstname>Brad</firstname>
        <streetaddress>3004 Buckhannan Avenue</streetaddress>
<latitude>30.595930055199233</latitude>
<longitude>114.83123779296932</longitude>
</Marker>
<Marker>
        <firstname>Kevin</firstname>
        <lastname>Mount</lastname>
        <streetaddress>341 Private Lane</streetaddress>
<latitude>30.460337307961808</latitude>
<longitude>114.30389404296932</longitude>
        </Marker>
    <Marker>
        <firstname>Miriam</firstname>
        <lastname>Colclough</lastname>
        <streetaddress>257 Cambridge Drive</streetaddress>
<latitude>30.197932857811598</latitude>
<longitude>114.32037353515682</longitude>
    </Marker>
    <Marker>
        <firstname>Napoleon</firstname>
        <lastname>Stewart</lastname>
        <streetaddress>2895 Eva Pearl Street</streetaddress>
<latitude>30.202680446302725</latitude>
<longitude>113.83148193359432</longitude>
    </Marker>
</Markers>

1 URLLoader
1)初始化
var xmlString:URLRequest=new URLRequest("data/Markers.xml");
var xmlLoader:URLLoader=new URLLoader(xmlString);
xmlLoader.addEventListener(Event.COMPLETE,readXml);

2)读取XML
private function readXml(event:Event):void
{
var markersXML:XML=new XML(event.target.data);
var markers:XMLList=markersXML.elements();
var iCount:int=markers.length();
for(var i:Number=0;i<iCount;i++)
{
var marker:XML=markers[i];
var id:String=marker.@id;
var lat:Number=marker.latitude;
var lng:Number=marker.longitude;
createMarker(new LatLng(lat,lng),id);
}
}

2 HTTPService
1)定义
<mx:HTTPService url="data/contacts.xml" result="dataService_resultHandler(event)"/>
2)result事件中接收数据
[Bindable]
private var myData:ArrayCollection;
protected function dataService_resultHandler(event:ResultEvent):void
{
myData=event.result.Markers.Marker;
}
3)需获取该数据的事件下send
protected function onClick():void
{
dataService.send();
}

3 WebService
1)声明
<fx:Declarations>
<s:WebService id="GISService" wsdl="http://www.adobetes.com/f4iaw100/remoteData/EmployeeData.cfc?wsdl" result="GISService_resultHandler(event)"/>
</fx:Declarations>
2)调用WebService操作
  protected function button1_clickHandler(event:MouseEvent):void
  {
  GISService.getEmployees();
  }
3)接收数据
  protected function GISService_resultHandler(event:ResultEvent):void
  {
  arrCollection=event.result as ArrayCollection;
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值