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
You may need to first load the Maps JS API using
Maps.loadMapsApi(...)before the geocoding methods will be accessible to your GWT code.