2011-12-21 15 views
0

JSNIとJSOT(JavaScriptオーバーレイタイプ)を使用してJavaScript定数をカスタムJava型にマップする方法はありますか?GWTコード内のJavascript定数を参照

例:

私はGWTのGoogleマップV3のJavaScript APIをマッピングし、MapTypeId定数があります。 javacodeでMapTypeIdオブジェクト(java.lang.StringではなくPOJO)としてTERRAIN定数(javascript文字列)を参照したいと思います。これまでのところ、コンパイラはjavascript文字列を私のカスタムタイプにマップできないと言っています。

答えて

0

私が作ったのは、純粋なjavascriptオブジェクトに文字列定数をラップし、ダムオーバーレイ型としてマップすることでした。 GWT java-to-jsコンパイラはそれを私の強く型付けされたMapTypeIdとしてキャストすることができます。

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

外部スクリプトは、JSNIで$wndと参照されるHTMLホストページにロードされます。私はMaps APIを知らないが、$wnd.MapTypeIdはうまくいくはずだと思う。