0

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

例子:

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

4

2 回答 2

0

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

于 2011-12-21T17:02:14.027 回答
0

我使它起作用的唯一方法是将字符串常量包装在纯 javascript 对象中,并将其映射为哑覆盖类型。然后,GWT java-to-js 编译器能够将其转换为我的强类型 MapTypeId。

public static native MapTypeId getHybrid() /*-{
        return { value : $wnd.google.maps.MapTypeId.HYBRID };
    }-*/;
于 2012-01-19T20:58:56.563 回答