我已经将我的GWT应用程序从1.5.2移植到1.7.0,用作GoogleMap控件的小部件不再获得ClickEvents。我已经检查过控件的DOM插入是否相同,并且没有区别。由于GWT 1.6引入了事件处理方式的重大变化,我认为有些东西已经存在。
我使用GWT图片作为GoogleMaps控件:
Image control = new Image("/oeg/images/info_32.png");
我使用Mapitz GMaps lib放置在地图上(是的我知道它的旧版本,但我一直支持更新的工作版本 - 如果有人有兴趣请问)
GControlPosition infoPosition =
new GControlPosition(GControlAnchor.G_ANCHOR_TOP_RIGHT(),
new GSize(7, 30));
getGmap().addControl(new GControl(control, infoPosition));
我已经检查了编译过的代码,它只是按照你期望的方式将html元素放在地图上作为GControl,正如我所说的那样,我已经检查了DOM,以确保没有什么看起来很有趣。
获取我曾经做过的ClickEvents ...
control.addClickListener(new ClickListener() {
public void onClick(Widget sender)
{
doTipOfTheDay();
}
});
我在1.6.0世界中改为
control.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent ce)
{
doTipOfTheDay();
}
});
我还尝试使用
明确地下载click事件 control.sinkEvents(Event.ONCLICK);
但是这一切都不适用于GWT-1.6.0 / 1.7.0并且它在1.5.2中都运行得非常好
有人可以对此有所了解吗?有没有其他人遇到过GWT 1.6及以上GMaps控件的事件问题?
与其他Gmaps对象的FYI我没有问题。我在地图表面,标记等上点击了鼠标。
但是控制,而不是