flex 界面改进

f

 

 

代码如下:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
 xmlns:ags="com.esri.ags.*"
    xmlns:esri="http://www.esri.com/2008/ags"
    xmlns:window="com.easy.window.*"
    paddingLeft="10" paddingRight="10" paddingBottom="10"
    layout="absolute"
    initialize="loadIntParment();"
    >
   
 <mx:Script>
 
 
 <![CDATA[
 
   import mx.events.ItemClickEvent;
   import mx.rpc.events.FaultEvent;
   import mx.rpc.events.ResultEvent;
   import mx.rpc.http.HTTPService;
   import mx.controls.Alert;
   
   import com.esri.ags.Map;
   import com.esri.ags.events.MapEvent;
   import com.esri.ags.toolbars.Draw;
   import com.esri.ags.events.DrawEvent;
   
   import com.esri.ags.layers.ArcGISTiledMapServiceLayer;
   import com.esri.ags.layers.ArcGISDynamicMapServiceLayer;
   
   
   var title:String;
   var subtitle:String;
   var logo:String;
   var configMap:Array = [];
   
   private var map:Map;
   private var drawToolbar:Draw;
 
   //初始化参数
   public function loadIntParment():void
   {
    configLoad();
   } 
 
 
 
   //加载配置文件
   private function configLoad():void
   {
    var configService:HTTPService = new HTTPService();
    configService.url = "config.xml";
    configService.resultFormat = "e4x";
    configService.addEventListener(ResultEvent.RESULT, configResult);
    configService.addEventListener(FaultEvent.FAULT, configFault); 
    configService.send();
   }
    
   //加载失败
   private function configFault(event:mx.rpc.events.FaultEvent):void
   {
    var sInfo:String = "Error: ";
    sInfo += "Event Target: " + event.target + "/n/n";
    sInfo += "Event Type: " + event.type + "/n/n";
    sInfo += "Fault Code: " + event.fault.faultCode + "/n/n";
    sInfo += "Fault Info: " + event.fault.faultString;
    Alert.show(sInfo);
   }
  
  
   //加载结果
   private function configResult(event:ResultEvent):void
   {
    //转换XML文件对象
    var configXML:XML = event.result as XML;
    title = configXML..title;
     subtitle = configXML..subtitle;
    logo = configXML..logo;
      
    var basemapList:XMLList = configXML.map.basemaps.mapservice;
    
    for (var i = 0; i < basemapList.length(); i++)
    {
     var msLabel:String = basemapList[i].@label;
     var msType:String = basemapList[i].@type;
     var msVisible:Boolean = true;
     if (basemapList[i].@visible == "false")
      msVisible = false; 
     var msAlpha:Number = 1;
     if (!isNaN(basemapList[i].@alpha))
      msAlpha = Number(basemapList[i].@alpha);      
     var msURL:String = basemapList[i];
     var mapservice:Object =
     {
      label: msLabel,
      type: msType,
      visible: msVisible,
      alpha: msAlpha,
      url: msURL
     }
     configMap.push(mapservice);
    }
    
    
    //开始加载地图
    LaadMap();
    //加载界面
    LaadPage();
    
    
   }
  
  
  
  
   //加载地图
   private function LaadMap():void
      {     
       map = new Map();
       map.id = "map";
       map.setStyle("backgroundColor","#FFFAF0");
       map.zoomSliderVisible = false;
       this.addChild(map);
         
          for (var i = 0; i < configMap.length; i++)
          {
           var label:String  = configMap[i].label;
           var type:String = configMap[i].type;
           var url:String =  configMap[i].url;
           var visible:Boolean = configMap[i].visible;
           var alpha:Number = Number(configMap[i].alpha);
           
           switch (type.toLowerCase())
     {
      case "tiled":
      {
       var tiledlayer:ArcGISTiledMapServiceLayer = new ArcGISTiledMapServiceLayer(url);
       tiledlayer.id = label;
       tiledlayer.visible = visible;
       tiledlayer.alpha = alpha;
       map.addLayer(tiledlayer);
       break;
      }
       
      case "dynamic":
      {
       var dynlayer:ArcGISDynamicMapServiceLayer = new ArcGISDynamicMapServiceLayer(url);
       dynlayer.id = label;
       dynlayer.visible = visible;
       dynlayer.alpha = alpha;
       map.addLayer(dynlayer);
       break;
      }
      
      
     }
     
          }
     
          map.panArrowsVisible = false;
       map.zoomSliderVisible = true;
       map.logoVisible = false;
      }
  
  
  
  
   //加载页面
   private function LaadPage(){
   
    
    
   
   }
  
   
  
  
  
  
   
   //切换菜单
      private function clickHandler(event:ItemClickEvent):void {
         
          //关闭所有窗口
          this.toc.mapContent.visible = false;
          this.toc.mapContent.height = 0;
          this.toc.mapContent2.visible = false;
          this.toc.mapContent2.height = 0;
          this.toc.mapContent3.visible = false;
          this.toc.mapContent3.height = 0;
          this.toc.mapContent4.visible = false;
          this.toc.mapContent4.height = 0;
         
          if(event.index == 0){
           this.toc.visible = true;
     this.toc.mapContent.height = 230;
     this.toc.mapContent.viewStack.selectedIndex = 1;
     this.toc.mapContent.visible = true;
          }
         
          if(event.index == 1){
           this.toc.visible = true;
     this.toc.mapContent2.height = 230;
     this.toc.mapContent2.viewStack.selectedIndex = 1;
     this.toc.mapContent2.visible = true;
          }
         
         
          if(event.index == 2){
           this.toc.visible = true;
     this.toc.mapContent3.height = 230;
     this.toc.mapContent3.viewStack.selectedIndex = 1;
     this.toc.mapContent3.visible = true;
          }
         
          if(event.index == 3){
           this.toc.visible = true;
     this.toc.mapContent4.height = 230;
     this.toc.mapContent4.viewStack.selectedIndex = 1;
     this.toc.mapContent4.visible = true;
          }   
             
         
         
         
            }
           
           
           
         
   
   
   
  
 ]]>
 
 
 
 </mx:Script> 
   
   
 <ags:Map id="map" x="0" y="0" width="100%" height="100%"  left="0" top="0" backgroundColor="#FFFAF0">
    <esri:ArcGISDynamicMapServiceLayer
                id="myDynamicService"
                url="http://localhost:8399/arcgis/rest/services/cl/MapServer"
                load="myDynamicService.defaultVisibleLayers()"
               
                 />
    </ags:Map>
   
   
 
 <!-- logo -->
 <mx:Canvas y="10" width="90%" height="80" left="20" right="20" borderStyle="solid" cornerRadius="10" borderThickness="3" themeColor="#4189B6" backgroundAlpha="1.0" backgroundColor="#B60606" alpha="0.51">
  <mx:Image source="@Embed('com/resoure/images/hui.png')" x="10" y="11"/>
  <mx:Label text="消防应急救援GIS系统" width="450" fontFamily="Georgia" fontSize="22" color="#F7F9F9" fontWeight="bold" x="66" y="10"/>
  <mx:HRule x="70" y="40" width="252" height="1" strokeColor="#FF0000" strokeWidth="20"/> <!-- 红线 -->
  <mx:Label x="69" y="41" text="武汉达梦数据库有限公司消防应急事业部" color="#34EAEC" fontSize="14"/>
  
  
  
  <mx:ToggleButtonBar right="40" y="25" fontSize="12" itemClick="clickHandler(event);">
            <mx:dataProvider>
                <mx:Array>
                    <mx:String>功能菜单1</mx:String>
                    <mx:String>功能菜单2</mx:String>
                    <mx:String>功能菜单3</mx:String>
                    <mx:String>功能菜单4</mx:String>
                </mx:Array>
            </mx:dataProvider>
        </mx:ToggleButtonBar>
  
 </mx:Canvas>  
   
   
   
   
 <!-- 工具条 -->
 <mx:ToggleButtonBar toggleOnClick="true" right="20" top="100"  fontSize="12">
        <mx:dataProvider>
        <mx:Object label="放大>
        <mx:Object label="缩小
>
        <mx:Object label="后退
>
        <mx:Object label="前进
>
        
        
        <mx:Object label="平面图
>
        <mx:Object label="影像图
>
        <mx:Object label="三维图
>
        
        
        
     </mx:dataProvider>
 </mx:ToggleButtonBar>
   
   
 
 
 
 <!-- 操作区 -->  
 <window:BodyControl id="toc" right="20" showEffect="{showTOC}" hideEffect="{hideTOC}" visible="true"/>
 
   
 <!-- 左出右进效果 -->
 <mx:WipeLeft id="showTOC" />
 <mx:WipeRight id="hideTOC" />
 <mx:Image id="highlight" source="@Embed(source='com/resoure/swf/highlight.swf')" visible="true"/>
    
   
   
</mx:Application>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值