2011-07-12 30 views
0

私はGoogleマップを持っており、コードから地図を更新または再読み込みしたいと思います。どのように可能ですか?Googleマップを更新/再読み込み

私はこのリンクを経由しますが、http://www.codigoactionscript.org/langref/googlemaps/com/google/maps/MapEvent.htmlはそこにリフレッシュ/リロードマップ用のものはありません。

+0

なぜあなたはマップをリロードするのでしょうか?位置、ズーム、オーバーレイをリセットしますか? –

+0

接続の問題により、クライアントがインターネットにアクセスできなくなることがあります。私はこの問題をカバーするために、5分ごとにリフレッシュ/リロード、または "onClick"が必要です。私は 'googleMap.dispatchEvent(新しいMapEvent(MapEvent.MAP_READY、onMapLoadReady))によってそれを把握します。しかし、これは私が探しているものではありません。 –

答えて

1

これは正確に「地図を更新している」わけではありません。しかし、同じことを成し遂げます。

は完全なGoogleマップのライフサイクルを呼び出して、舞台からマップを削除し、再度追加するタイマーを使用します。

 

package 
{ 
    import com.google.maps.LatLng; 
    import com.google.maps.Map; 
    import com.google.maps.MapEvent; 
    import com.google.maps.MapType; 

    import flash.display.Sprite; 
    import flash.events.TimerEvent; 
    import flash.geom.Point; 
    import flash.utils.Timer; 

    public class Test extends Sprite 
    { 

     private var _map:Map; 

     private var _timer:Timer; 

     public function Test() 
     { 
      super(); 

      createMap(); 

      _timer = new Timer(300000); // 5-min 
      _timer.addEventListener(TimerEvent.TIMER, timerHandler); 
      _timer.start(); 
     } 

     private function timerHandler(event:TimerEvent):void 
     { 
      while (numChildren > 0) 
       removeChildAt(0); 

      createMap(); 
     } 

     protected function createMap():void 
     { 
      _map = new Map(); 
      _map.key = "YOUR_API_KEY"; 
      _map.sensor = "false"; 
      _map.setSize(new Point(stage.stageWidth, stage.stageHeight)); 
      addChild(_map); 

      _map.addEventListener(MapEvent.MAP_READY, mapReadyHandler); 
     } 

     protected function mapReadyHandler(event:MapEvent):void 
     { 
      _map.removeEventListener(MapEvent.MAP_READY, mapReadyHandler); 
      _map.setCenter(new LatLng(37.4419, -122.1419), 13, MapType.NORMAL_MAP_TYPE); 
     } 

    } 
} 
+0

10 000回ありがとう...:) –

関連する問題