0

Google マップを使用する GWT アプリがあり、Google のジオコーダー クラスを使用して住所の LatLng を取得するメソッドを作成しようとしています

これは私のコードです:

Geocoder gc = new Geocoder();
    gc.getLatLng(this.testAddress, new LatLngCallback()
    {
        public void onFailure() 
        {
            System.out.println("ERROR: Could not obtain the Coordinates for address" + testAddress);
        }
        public void onSuccess(LatLng point) 
        {
            System.out.println("For Address= "+testAddress +"are Latitude: "+point.getLatitude() + "Longitude: "+ point.getLongitude());
        }

    });

正常にコンパイルされますが、実行時に次の例外がスローされます。

06:25:09.359 [ERROR] [foodvendor] Unable to load module entry point class cs310.client.Main (see associated exception for details)

com.google.gwt.core.client.JavaScriptException: (TypeError): undefined is not a function
  at     com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:248)
   at com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
   at com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)
   at com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)
   at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91)
   at com.google.gwt.maps.client.impl.__GeocoderImplImpl.construct(__GeocoderImplImpl.java)
   at com.google.gwt.maps.client.geocode.Geocoder.<init>(Geocoder.java:41)
   at cs310.client.AshTestClass.<init>(AshTestClass.java:25)
   at cs310.client.Main.onModuleLoad(Main.java:37)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:597)
   at com.google.gwt.dev.shell.ModuleSpace.onLoad(ModuleSpace.java:396)
   at com.google.gwt.dev.shell.OophmSessionHandler.loadModule(OophmSessionHandler.java:200)
   at com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:525)
   at com.google.gwt.dev.shell.BrowserChannelServer.run(BrowserChannelServer.java:363)
   at java.lang.Thread.run(Thread.java:680)

この例外が何を意味するのかわかりません。誰かが私を理解するのを手伝ってくれますか? ありがとう

4

2 に答える 2

1

Maps.loadMapsApi(...)ジオコーディングメソッドがGWTコードにアクセスできるようになる前に、最初にを使用してMapsJSAPIをロードする必要がある場合があります。

于 2012-07-02T13:42:26.960 に答える
0

エミュレータを使用している場合、ジオコーダは機能しません。彼らが修正していないかなり大きなバグですが、解決策は実際のデバイスでテストすることです。うまくいけば、うまくいくはずです。

于 2012-07-02T14:56:29.740 に答える