google mapを3Dで表示させる。

2011/03/18  as3.0

google mapをせっかくflashで使っているので、

jsにはない機能として、簡単に3Dで仕様する事ができます。

 

mapクラスを使用していた部分をmap3dクラスを利用して、

attitudeクラスで角度を設定します。

それ以外は前回と同じです。

 

package {
	import com.google.maps.geom.Attitude;
	import com.google.maps.LatLng;
	import com.google.maps.Map;
	import com.google.maps.Map3D;
	import com.google.maps.MapEvent;
	import com.google.maps.MapOptions;
	import com.google.maps.MapType;
	import com.google.maps.View;
	import flash.display.Sprite;
	import flash.geom.Point;
	public class main extends Sprite {
		//取得したapiのキー
		static const API_KEY:String = "ABQIAAAAedQ3nAkgMbszP09U7ilbCRQVeq2w2sZpI_9cEfXv_GqR_rj1-hQH1Zh2pdN5AvGd3SjL_R2v4wczkg"
		private var _map:Map3D;
		public function main() {
			mapShow();
		}
		private function mapShow():void {
			_map = new Map3D();
			_map.key = API_KEY;
			_map.sensor = "false";
			var _mapOption:MapOptions = new MapOptions();
			_mapOption.viewMode = View.VIEWMODE_PERSPECTIVE;
			_mapOption.attitude = new Attitude(0, 65, 0);
			_map.setInitOptions(_mapOption);
			_map.setSize(new Point(stage.stageWidth, stage.stageHeight));
			addChild(_map)
			_map.addEventListener(MapEvent.MAP_READY, function() {
				_map.setCenter(new LatLng(35.658517, 139.701334), 14, MapType.NORMAL_MAP_TYPE);
			});
		}
	}
}

 

これだけで簡単にできました、Attitudeに関しては、簡単にx軸、y軸、z軸で回転をしますが、3dを表現するには、上記のように真ん中の引数だけ、ある程度値をつけてあげれば問題ありません。

 

This movie requires Flash Player 9.0.0

 

デフォルトで、マウスでつかむ、ダブルクリックで移動が入っています。

 

ファイル一式はこちらにおいておきます。