2

私はグーグルマップAPIを使用していますが、それらのオブジェクトの1つのインスタンスを作成したいと思います。

public static final native void test(double lat, double lng) /*-{
    var obj = new google.maps.LatLng(lat, lng);
}-*/; 

ただし、上記は機能せず、次のエラーが出力されます。

com.google.gwt.core.client.JavaScriptException: (ReferenceError)
@com.google.gwt.core.client.impl.Impl::apply
    (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)
    ([JavaScript object(4), JavaScript object(3), JavaScript object(6)]): 
    google is not defined

だから私はおそらく「google.maps.LatLng」オブジェクトが何であるかをGWTに説明する必要があります-どうすればそれを行うことができますか?そのための特定の構文があると思いましたが、ドキュメントでそれを見つけることができなくなったようです、

ありがとう

4

1 に答える 1

3

ホストページの別の場所でgoogle.mapsを定義する場合は、GWTコードで接頭辞$wndを付ける必要があります。

public static final native void test(double lat, double lng) /*-{
    var obj = new $wnd.google.maps.LatLng(lat, lng);
}-*/;

GWTドキュメントから:

JSNIからブラウザのウィンドウおよびドキュメントオブジェクトにアクセスするときは、それらをそれぞれ$wndおよび$docとして参照する必要があります。コンパイルされたスクリプトはネストされたフレームで実行され、$wndと$docは自動的に初期化されて、ホストページのウィンドウとドキュメントを正しく参照します。

于 2012-12-26T03:49:58.193 に答える