banditKing
banditKing

Reputation: 9579

Java + Google Maps API + GWT + Geocoding Attempt: Getting this exception at run time- compiling fine

I have a GWT app that uses Google Maps and Im trying to create a method that uses Googele's geocoder class to get the LatLng ofan address.

This is my code:

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());
        }

    });

It compiles fine but at runtime throws this exception:

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)

Im not sure what this exception means, could someoone help me understand? Thanks

Upvotes: 0

Views: 1274

Answers (2)

thebmags
thebmags

Reputation: 24

If you're using an emulator geocoder doesn't work. Its a pretty big bug they havent fixed but the solution is to test on a real device. Hopefully it should work then.

Upvotes: 0

Jason Hall
Jason Hall

Reputation: 20920

You may need to first load the Maps JS API using Maps.loadMapsApi(...) before the geocoding methods will be accessible to your GWT code.

Upvotes: 1

Related Questions