2008年05月18日
Google Maps をぐーるぐる
さっそく Google Maps API for Flash で遊んでみた。
公式のチュートリアルを見ると MXML 必須のように見えるが、Map クラス自体は Sprite を継承してるので、AS3 の範囲だけで遊べる。
回転、フィルタが自由自在ですよ、ということで、ぐるぐる回してみた。ドラッグ時にはマップ全体がぼやけます。
ソースコードはこちら。
package { import flash.events.Event; import flash.geom.Matrix; import flash.filters.BlurFilter; import com.google.maps.Map; import com.google.maps.MapEvent; import com.google.maps.MapType; import com.google.maps.LatLng; public class GoogleGuruGuru extends Map { public function GoogleGuruGuru() { super(); key = "ABQIAAAA6de2NwhEAYfH7t7oAYcX3xRWPxFShKMZYAUclLzloAj2mNQgoRQZnk8BRyG0g_m2di3bWaT-Ji54Lg"; addEventListener(MapEvent.MAP_READY, function(event:Event):void{ setCenter(new LatLng(35.003759, 135.769322), 18, MapType.NORMAL_MAP_TYPE); }); var r:int = 0; var scale:Number = 1; addEventListener("enterFrame", function(event:Event):void{ r = (r + 1) % 360; var rad:Number = 2 * Math.PI * r / 360; var matrix:Matrix = new Matrix(); matrix.translate(-stage.stageWidth / 2, -stage.stageHeight / 2); matrix.rotate(rad); matrix.translate(stage.stageWidth / 2, stage.stageHeight / 2); transform.matrix = matrix; }); stage.addEventListener("mouseDown", function(event:Event):void{ filters = [new BlurFilter(10, 10)]; }, true); stage.addEventListener("mouseUp", function(event:Event):void{ filters = []; }); } } }