Forked from: cyocun's google map API for FLASH @mxml (編集中) diff:10 google map API for FLASH @mxml cyocun forked:0favorite:0lines:66license : MIT License modified : 2010-03-25 15:51:17 Embed Tweet <?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.MapOptions; import com.google.maps.Alpha; import com.google.maps.Color; import com.google.maps.MapAction; 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.SATELLITE_MAP_TYPE); var options:MapOptions = new MapOptions({ backgroundFillStyle: {alpha: 1,color: 0x000000}}); //map.addControl(new ZoomControl()); setFilter() myTimer = new Timer(100, 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.25, p.y += Math.random() - 0.25 )); map.setZoom(Z+=Math.random() - 0.01); } 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> Code Fullscreen Preview Fullscreen