google map API for FLASH @mxml (編集中)

by cyocun
♥0 | Line 59 | Modified 2010-03-25 15:06:09 | MIT License
play

ActionScript3 source code

/**
 * Copyright cyocun ( http://wonderfl.net/user/cyocun )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/bzXR
 */

<?xml version="1.0" encoding="utf-8"?>
<mx:Application 
   xmlns:maps="com.google.maps.*" 
   xmlns:mx="http://www.adobe.com/2006/mxml" 
   layout="absolute">
 
   <mx:Script>
       <![CDATA[
         import flash.geom.ColorTransform;
         import flash.geom.Transform;
         flash.geom.Point
         import flash.utils.Timer;
		import flash.events.TimerEvent;
         import com.google.maps.services.ClientGeocoder;
         import mx.controls.Alert;
         import com.google.maps.MapMouseEvent;
         import com.google.maps.services.GeocodingEvent;
         import com.google.maps.controls.MapTypeControl;
         import com.google.maps.controls.PositionControl;
         import com.google.maps.controls.ZoomControl;
         import com.google.maps.LatLng;
         import com.google.maps.LatLngBounds;
         import com.google.maps.Map;
         import com.google.maps.MapEvent;
         import com.google.maps.MapType;
         
         private var myTimer:Timer;
         private var p:Point = new Point;
         private var Z:int;
                  
         private function onMapReady(event:Event):void {
             map.setCenter( new LatLng( p.x = 37.1569, p.y = -122.1569), z=10, MapType.NORMAL_MAP_TYPE);
             //map.addControl(new ZoomControl());
          	setFilter()
			myTimer = new Timer(10, 999);
			myTimer.addEventListener("timer", timedFunction);
			myTimer.start();
		}

		private function timedFunction(eventArgs:TimerEvent):void {
			//map.panBy(new Point(1000, 500));
			map.panTo(new LatLng(p.x += Math.random() - 0.5, p.y += Math.random() - 0.5 ));
		}

          private function setFilter() : void{
              var filter : ColorMatrixFilter = new ColorMatrixFilter();
              var matrix:Array = new Array();
              matrix = matrix.concat([0.3086, 0.694, 0.0820, 0, 0]); // red
              matrix = matrix.concat([0.3086, 0.694, 0.0820, 0, 0]); // green
              matrix = matrix.concat([0.3086, 0.694, 0.0820, 0, 0]); // blue
              matrix = matrix.concat([0, 0, 0, 1, 0]); // alpha
              filter.matrix = matrix;
              setMapFilter( filter );
           }
          
          private function setMapFilter( filter : ColorMatrixFilter ) : void
          {
              var s1:Sprite = map.getChildAt(1) as Sprite;
              var s2:Sprite = s1.getChildAt(0) as Sprite;
              s2.filters = [ filter ];
              s2.transform.colorTransform = new ColorTransform(1,1,1,1,-150,-50,-50,-50);
           }
          
       ]]>
   </mx:Script>

   <maps:Map id="map" mapevent_mapready="onMapReady(event)" 
      width="100%" height="100%" key="API key goes here"/>
   
</mx:Application>

Forked