Select to view content in your preferred language

Base Map Fader for Flex 2.2?

656
2
02-16-2011 09:36 AM
NathanEnge
Esri Contributor
I'm trying to port over the Base Map Fader from SFV1.3 into the 202. I'm getting a bunch of errors, when I try to implement it in my current index.mxml for Flex 2.2. Has anybody done this yet?




<s:Application
[LEFT]xmlns:fx="http://ns.adobe.com/mxml/2009"

xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx   ="http://www.adobe.com/2006/mxml"
xmlns:viewer="com.esri.viewer.*"
xmlns:managers="com.esri.viewer.managers.*"

pageTitle="ArcGIS Viewer for Flex">
 
[LEFT]<fx:Script>
 <![CDATA[[/LEFT]
 

  import com.esri.solutions.flexviewer.AppEvent;  
  import mx.managers.IDragManager;
  import mx.managers.HistoryManager; 
  import mx.controls.Alert;
  import com.esri.ags.layers.Layer;

 

  private var iDragManager:IDragManager;
  private var hist:HistoryManager; 

 

  flash.system.Security.allowDomain ("*"); 

 

  private function registerGlobalKeyHandler() :void
  {
   stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown);

 

  }

 
 

  private function handleKeyDown(event:KeyboardEvent) :void
  {
   if ((event.shiftKey) && (event.keyCode == 27))
   {
    SiteContainer.dispatchEvent(new AppEvent(AppEvent.SET_MAP_NAVIGATION, false, false, null)); 
   }
  }

 

  private function faderFade(evt:Event):void
  {
   var lyr:Layer = SiteContainer.getInstance().controller.map.getLayer("Aerial");
   var lyr2:Layer = SiteContainer.getInstance().controller.map.getLayer("Topography");
   lyr.visible = true;
   lyr2.visible = true;
   lyr.alpha = fader.value;
   lyr2.alpha = (1 - fader.value);
  }

 

 ]]>
</fx:Script>

 

<fx:Style

[/LEFT]
[LEFT]source="defaults.css"/>

[LEFT]<fx:Metadata>
[[/LEFT]
[/LEFT]
[LEFT]ResourceBundle("ViewerStrings")]

</fx:Metadata>


 
 

<viewer:ViewerContainer>
<viewer:configManager>
<managers:ConfigManager/>
</viewer:configManager>
<viewer:dataManager>
<managers:DataManager/>
</viewer:dataManager>
<viewer:mapManager>
<managers:MapManager/>
</viewer:mapManager>
<viewer:uiManager>
<managers:UIManager/>
</viewer:uiManager>
<viewer:widgetManager>
<managers:WidgetManager/>
</viewer:widgetManager>
</viewer:ViewerContainer>

 

<mx:Canvas width="150" right="450" top="0" height="25" styleName="WidgetCanvas">
 <mx:HSlider id="fader" x="25" y="1" width="100" minimum="0" maximum="1" snapInterval="0.1" liveDragging="true" allowTrackClick="true" enabled="true" showDataTip="false" change="faderFade(event)" value="1" />
 <mx:Image x="7" y="1" width="20" height="20">
  <mx:source>com/esri/solutions/flexviewer/assets/images/icons/i_map.png</mx:source>
 </mx:Image>
 <mx:Image x="125" y="1" width="20" height="20">
  <mx:source>com/esri/solutions/flexviewer/assets/images/icons/i_satellite.png</mx:source>
 </mx:Image>
</mx:Canvas>



</s:Application>

[/LEFT]
Tags (2)
0 Kudos
2 Replies
RobertScheitlin__GISP
MVP Emeritus
Nathan,

   Several changes are required:

<fx:Script>
  <![CDATA[
   import com.esri.ags.layers.Layer;
   
   private function faderFade(evt:Event):void 
   { 
    var lyr:Layer = ViewerContainer.getInstance().mapManager.map.getLayer("Aerial"); 
    var lyr2:Layer = ViewerContainer.getInstance().mapManager.map.getLayer("Topo"); 
    lyr.visible = true; 
    lyr2.visible = true; 
    lyr.alpha = fader.value; 
    lyr2.alpha = (1 - fader.value);
   }
  ]]>
 </fx:Script>

<s:BorderContainer width="165" right="450" top="0" height="25" borderVisible="true" backgroundColor="0x000000" 
  cornerRadius="5" backgroundAlpha="0.6" dropShadowVisible="true" borderColor="0xffffff">
  <s:layout>
   <s:HorizontalLayout horizontalAlign="center" verticalAlign="middle" gap="4" paddingLeft="4" paddingRight="4"/>
  </s:layout>
  <s:BitmapImage source="@Embed(source='assets/images/i_globe.png')" width="20" height="20" />
  <s:HSlider id="fader" width="100" minimum="0" maximum="1" snapInterval="0.1" liveDragging="true" enabled="true" showDataTip="false" change="faderFade(event)" value="1" />
  <s:BitmapImage source="@Embed(source='assets/images/i_satellite.png')" width="20" height="20" />
 </s:BorderContainer>
0 Kudos
NathanEnge
Esri Contributor
Nathan,

Several changes are required:


Thanks for this Robert. And if I wanted to integrate it with the BaseMapSwitcher so that the slider is always directly beneath the button bar, intead of at the fixed location where it is right now?
0 Kudos