标记GWT映射V3 clickhandler和dblclickhandler

标记GWT映射V3 clickhandler和dblclickhandler,gwt,google-maps-api-3,Gwt,Google Maps Api 3,我正在使用gwt-maps-3.8.0,因为我想对同一个标记同时使用clickhandler和dblclickhandler。如果我们两者都用,那就行不通了。。请参考下面我的代码 `VerticalPanel panel = new VerticalPanel(); GoogleMap mapWidget; LatLng myLatLng = LatLng.create(13.774252, 80.190262); MapOptions myOptions = MapOption

我正在使用gwt-maps-3.8.0,因为我想对同一个标记同时使用clickhandler和dblclickhandler。如果我们两者都用,那就行不通了。。请参考下面我的代码

`VerticalPanel panel = new VerticalPanel();
GoogleMap mapWidget;
LatLng myLatLng = LatLng.create(13.774252, 80.190262);
        MapOptions myOptions = MapOptions.create();
        myOptions.setZoom(8.0);
        myOptions.setCenter(myLatLng);
        myOptions.setScaleControl(true);
        myOptions.setMapTypeId(MapTypeId.ROADMAP);
        mapWidget = GoogleMap.create(panel.getElement(), myOptions);
Marker marker = Marker.create();
        marker.setMap(mapWidget);
marker.addDblClickListener(new DblClickHandler() {

            @Override
            public void handle(MouseEvent event) {
                Window.alert("Double Click");
            }
        });
        marker.addClickListener(new ClickHandler() {

            @Override
            public void handle(MouseEvent event) {
                Window.alert("Single");
            }
        });`
看起来单击(单个)处理程序将被触发。这就是正在发生的事情吗

我怀疑当用户双击时,第一次单击会在检测到第二次单击之前触发单击事件

我知道的唯一方法是有效地监听ClickHandler中的第二次单击。下面是一个Java示例(不是GWT),您可能会发现它很有用:

有人知道更干净的方法吗

或者说“如果我们同时使用这两种标记,它将不起作用”,你的意思是标记没有出现吗? 如果是,这可能是因为您尚未设置标记位置:

marker.setPosition(myLatLng);

我是通过在单击处理程序中调用一些异步调用来实现的,它会延迟并允许对同一标记进行双击处理。选中GWT代码

是,每次都会触发单击处理程序。。。将尝试在GWT中更改这一点。无论如何,谢谢你的建议。