参考GWT代码中的Javascript常量

时间:2011-12-21 15:04:19

标签: gwt google-maps-api-3 jsni

有没有办法使用JSNI和JSOT(javascript叠加类型)将JavaScript常量映射到自定义java类型?

示例:

我将Google Map V3 javascript API映射到GWT,并且有MapTypeId个常量。我想在我的javacode中引用TERRAIN常量(这是一个javascript字符串)作为MapTypeId对象(它是一个POJO而不是java.lang.String)。到目前为止,编译器说它无法将javascript字符串映射到我的自定义类型。

2 个答案:

答案 0 :(得分:0)

外部脚本在HTML主页中加载,您将在JSNI中将其引用为$wnd。我不知道Maps API,但我想$wnd.MapTypeId应该可以使用。

答案 1 :(得分:0)

我唯一能让它工作的是将字符串常量包装在纯javascript对象中,并将其映射为哑叠加类型。然后,GWT java-to-js编译器可以将其强制转换为强类型MapTypeId。

public static native MapTypeId getHybrid() /*-{
        return { value : $wnd.google.maps.MapTypeId.HYBRID };
    }-*/;