GWT OSM

G

gwtosm

Gast
Tagchen.

Ich habe ein GWT OMS Tutorial ausprobiert und wie das immer so ist
mit Tutorials funktionieren sie nicht wirklich.

Es wird immer folgende Exception geschmissen, mit der ich und Google
0 Komma nichts anfangen kann:

Code:
java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) 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(Unknown Source) Caused by: com.google.gwt.core.client.JavaScriptException: (TypeError): $wnd.OpenLayers is undefined 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 org.gwtopenmaps.openlayers.client.layer.OSMImpl.Osmarender(OSMImpl.java) at org.gwtopenmaps.openlayers.client.layer.OSM.Osmarender(OSM.java:38) at myPackage.client.View.initMap(View.java:33) at myPackage.client.View.onModuleLoad(View.java:26) ... 9 more

Der Code dazu ist recht Simple:

Java:
public class View implements EntryPoint {

	public View() {
		
	}

	public void onModuleLoad() {
		initMap();
	}
	
	private void initMap() {
		MapOptions defaultMapOptions = new MapOptions();
		MapWidget mapWidget = new MapWidget("684px", "330px", defaultMapOptions);
		
		OSM osm_1 = OSM.Osmarender("Osmarender");
		OSM osm_2 = OSM.Mapnik("Mapnik");
		OSM osm_3 = OSM.CycleMap("CycleMap"); 
		OSM osm_4 = OSM.Maplint("Maplint"); 
		
		osm_1.setIsBaseLayer(true);
		osm_2.setIsBaseLayer(true);
		osm_3.setIsBaseLayer(true);
		osm_4.setIsBaseLayer(true);
		
		Map map = mapWidget.getMap();
	    map.addLayer(osm_1);
	    map.addLayer(osm_2);
	    map.addLayer(osm_3);
	    map.addLayer(osm_4);
	    map.addControl(new LayerSwitcher());
	    map.addControl(new MousePosition());
		
	    LonLat lonLat = new LonLat(6.95, 50.94);          
        lonLat.transform("EPSG:4326", "EPSG:900913"); 
          
        map.setCenter(lonLat, 12);                      

 		RootPanel.get().add(mapWidget);
	}
}

Abhängigkeiten sind natürlich GWT und die gwt-openlayers-client-0.6.jar

Hat da jemand Ahnung von? Weiß nicht wie man sich dazu Hilfe
beschaffen soll.
 

KSG9|sebastian

Top Contributor
Sicher das OSM vernünftig geladen wurde?

Laut Exception ...
Code:
(TypeError): $wnd.OpenLayers
... gibt es die Funktion nicht, was darauf schließen lässt, das OSM nicht korrekt geladen wurde?

Hast du den Eintrag in der gwt.xml? Muss irgendwas noch speziel aufgerufen werden?

Ich kenn mit mit OSM halt gar nicht aus, der ist es ein wenig Fischen im Trüben...
 
G

gwtosm

Gast
Meine .gwt.xml sieht so aus:

Code:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<module rename-to="MapExample">
	<inherits name="org.gwtopenmaps.openlayers.OpenLayers"/>
  	<inherits name='com.google.gwt.user.theme.clean.Clean'/>
  	<inherits name='com.google.gwt.user.User'/>
	
  	<entry-point class="myPackage.client.View"/>
</module>

Was heißt "nicht korrekt geladen"? Ich habe wie beschrieben
die Dependencys gesetzt und den Example-Code kopiert.
 
G

gwtosm

Gast
Genau das habe ich doch getan....

Die beiden Skripte sind eingebunden, habe ich oben gepostet (ist übrigens nicht die Host.html, sondern die Application.html wobei Application eben für den Namen steht, den man gewählt hat, die Host.html befindet sich ganz wo anders)

Under Code ist genau der von dem Link den du gepostet hast.
 
G

gman

Gast
Sorry, das war aus deinem ersten Post nicht ganz klar ersichtlich und es hätte halt zu der Fehlermeldung
gepasst, schade. Und das es bei dir Application.html heißt habe ich wohl mitbekommen. Jedoch heißen
diese Seiten im Google-Slang halt Host-Pages (siehe).
 
G

gwtosm

Gast
*Solved*

Osmarander und Maplint wird nicht mehr unterstützt.
Einfach rauß damit ausm Code und alles funktioniert :D
 

Neue Themen


Oben