﻿ if(! GBrowserIsCompatible())
   alert("お使いのブラウザはGoogle Maps APIに対応していません");

 var browser;
 if( navigator.appName.indexOf("Microsoft") > -1 ) browser = "ie";
 else browser = "other";
 
 var zoom = 1;
 var map = new GMap(document.getElementById("map"));
 map.centerAndZoom(new GPoint(139.339031,35.655858), zoom);
 map.addControl(new GMapTypeControl());
 map.disableDragging();
 map.setMapType( G_SATELLITE_TYPE );


 // イベントの設定
 document.onkeydown = keyhandler;
 
 var fstart   = 0;	  // 1なら飛行
 var headding = 90;	  // 角度
 var spd = 0.000001;

 if( browser == "ie" )
   document.getElementById("plane").innerHTML = "<div style = \"width : 100px;height : 100px; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='planes/pln90.png')\"></div>";
 else
   document.getElementById("plane").innerHTML = "<div style = \"width : 100px;height : 100px; background-image: url('planes/pln90.png')\"></div>";
 
 
 // スタートボタン
 function flight_start() {
   setTimeout( "timerhandler()", 30 );
   fstart = 1;
 }

 // ストップボタン
 function flight_stop() {
   fstart = 0;
 }

 //ズームダウン
 function zoom_down() {
   zoom += 1;
   if(zoom > 7) zoom = 7;
   map.zoomTo(zoom);
}

 //ズームアップ
 function zoom_up() {
   zoom -= 1;
   if(zoom < 0) zoom = 0;
   map.zoomTo(zoom);
}

 // タイマー関数
 function timerhandler() {
   var center = map.getCenterLatLng();
   var rad = headding * Math.PI / 180;
   
   var n_y = center.y + Math.sin( rad ) * spd;
   var n_x = center.x + Math.cos( rad ) * spd;
   
   map.recenterOrPanToLatLng(new GPoint(n_x, n_y));

   if( fstart ) setTimeout( "timerhandler()", 30 );
 }

 // キーボード
 function keyhandler(evt) {
   var keycode;
   if( browser == "ie" ) 
     keycode = event.keyCode;
   else
     keycode = evt.which;
   
   switch(keycode) {
     case 38:	// 上
       spd += 0.000005;
       if(spd > 0.0005 ) spd = 0.0005;
       break;

     case 40:	// 下
       spd -= 0.000005;
       if(spd < 0.000001 ) spd = 0.000001;
       break;

     case 32:	// スペース
       spd = 0.000001;
       break;

     case 37:	// 左
       headding += 10;
       if( headding > 350 ) headding = 0;
       break;

     case 39:	// 右
       headding -= 10;
       if( headding < 0 ) headding = 350;
    
     default:
       break;
 	 }
   if( browser == "ie" )
     document.getElementById("plane").innerHTML = "<div style = \"width:100px;height:100px;filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='planes/pln" + headding + ".png')\"></div>";
   else
     document.getElementById("plane").innerHTML = "<div style = \"width : 100px;height : 100px; background-image: url('planes/pln" + headding + ".png')\" ></div>";

 }

