2009-05-12 12 views
2

デフォルトでは、Google Maps Flash APIは、マーカー上で発生するすべてのMouseEventのバブリングをキャンセルします(少なくともドラッグ可能)。しかしMapMouseEventコンストラクタでは、パラメータ "bubbles?"があることがわかりました。だから彼らはマウスイベントをバブルさせることができると思いますか?マウスイベントのバブリングをオンにする方法はありますか?Google Maps Flash APIは、マーカー上でのMouseEventのバブリングを無効にします

var __marker = new Marker(new LatLng(20, 20), 
    new MarkerOptions({ 
      draggable: true, 
      tooltip:'Drag me' 
     })); 
    __map.addOverlay(__marker); 

答えて

0

申し訳ありませんが、私はFlashで新しいGoogle Maps APIをテストしていません。私が覚えている限り、リスナーをマーカーに割り当てることができるので、デフォルトではバブリングは無効になっています。理論的には、必要なすべてのマーカーのイベントをリッスンするだけです。イベントリスナーがトリガーされたときそのハンドラに必要なすべてのデータを持つカスタムイベントをディスパッチし、バブリングをtrueに設定します。

//assuming SomeGoogleMarkerEvent is a Google Marker Event :) 
//and CustomMarkerEvent is a subclass of Event (or another subclass of it) 


function markerHandler(event:SomeGoogleMarkerEvent):void{ 
var customEvent:CustomMarkerEvent = new CustomMarkerEvent(); 
customEvent.marker = event.target; 
dispatchEvent(customEvent,true); 
} 

私はdispatchEvent呼び出しでtrueに設定した2番目のパラメータはバブリングされます。ただし、DisplayObjectsのイベントだけがバブリングすることを覚えておいてください。イベントディスパッチにはresourcesがたくさんありますが、私はDisplayObjectsとバブリングを簡単に忘れています。

希望すると助かります!

関連する問題