マウスのシングルクリックとダブルクリックをどのように区別しますか?私のシングルクリックリスナーは、すべてのダブルクリックもトラップしているようです。
これはflash/flex APIの既知の問題ですが、jsの回避策は両方を処理していないようです:code.google.com
マウスのシングルクリックとダブルクリックをどのように区別しますか?私のシングルクリックリスナーは、すべてのダブルクリックもトラップしているようです。
これはflash/flex APIの既知の問題ですが、jsの回避策は両方を処理していないようです:code.google.com
少し説明が必要かもしれませんが、Flash API のクリック イベントではなく、Google マップの MapMouseEvent を使用していることを確認してください (このコードはMap
サブクラス内にあると想定してください)。
public class GoogleMap extends Map
{
import com.google.maps.LatLng;
import com.google.maps.Map;
import com.google.maps.MapEvent;
import com.google.maps.MapMouseEvent;
public function GoogleMap():void
{
super();
this.key = "YOUR_API_KEY";
addEventListener(MapEvent.MAP_READY, _onMapReady);
addEventListener(MapMouseEvent.CLICK, _onMapClick);
addEventListener(MapMouseEvent.DOUBLE_CLICK, _onMapDoubleClick);
}
protected function _onMapClick(event:MapMouseEvent):void
{
trace("single!");
var mousePoint:Point = new Point(mouseX, mouseY);
var mousePointLocal:Point = globalToLocal(mousePoint);
var mouseLatLng:LatLng = this.fromViewportToLatLng(mousePointLocal);
}
protected function _onMapDoubleClick(event:MapMouseEvent):void
{
trace("double!");
}
protected function _onMapReady(event:MapEvent):void
{
trace("ready!")
}
}