我想包装一个像这样的javascript代码:
map.addMarker({
lat: -12.043333,
lng: -77.028333,
draggable: true,
fences: [polygon],
outside: function(m, f){
alert('This marker has been moved outside of its fence');
}
});
这是我用Java编写的:
@JsType(namespace = JsPackage.GLOBAL, isNative = true, name = "Object")
public class MarkerOptions {
@JsProperty
public double lat;
@JsProperty
public double lng;
@JsProperty
public boolean draggable;
@JsProperty
public Polygon fences;
@JsFunction
public interface FunctionOutsideParam {
void outside();
}
@JsProperty
public FunctionOutsideParam outside;
}
但它没有用。即使你在我的浏览器控制台中没有任何错误。有人知道如何让它为外部回调函数工作吗? 谢谢和问候。
答案 0 :(得分:1)
我终于找到了解决方案。看来我的java代码与我的javascript代码不一致。感谢Colin Alworth指出我不一致的部分。所以这是我的完整代码:
<div class="row">
<h3 class="news_title"> Latest Events </h3>
<marquee behavior="scroll" loop="infinite" direction="up" onmouseover="this.stop();" style="height:200px" onmouseout="this.start();">
<ul>
<li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…t-day-15-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – EDUCATION DEVELOPMENT DAY 15.07.2015</a></li>
<li><i class="fa fa-cog fa-spin"></i><a href=" http://sowdambikaa.edu.in/news/chellammal-matri…ation-03-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – CLUB INAUGURATION – 03.07.2015</a></li>
<li><i class="fa fa-cog fa-spin"></i><a href=" http://sowdambikaa.edu.in/news/chellammal-matri…ation-18-06-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – FATHER’S DAY CELEBRATION – 18.06.2015</a></li>
<li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…ation-16-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – RAMZAN CELEBRATION – 16.07.2015</a></li>
<li><i class="fa fa-cog fa-spin"></i><a href="http://sowdambikaa.edu.in/news/chellammal-matri…ition-20-07-2015/">CHELLAMMAL MATRIC. H.S.S, THIRUVERUMBUR – ENVIRONMENT DAY COMPETITION – 20.07.2</a></li>
</ul>
</marquee>
</div>
现在每当我运行它时,外部函数回调都被正确调用。感谢大家。我希望我的回答可以帮助许多其他开发人员,他们试图找出如何使用GWT JSInterop实现js回调函数。