Hallo,
ich habe eine Website mit dem Google Webtoolkit erstellt und bin nun auf die vielfältigen möglichkeiten der Open Street Map aufmerksam geworden.
Darum will ich sie nun gerne in meine Website einbinden. Ich haben schon eine spezielle API für Open Layers gefunden nur leider ist diese noch nicht weit verbreitet und es gibt auch keine Beispiele für eine Verwendung mit der OSM. Daher wollte ich fragen, ob sich jemand mit dieser API auskennt oder eine andere möglichkeit zum Einbinden kennt.
Die Frage ist ja, ist es dir wichtig, womit die Karte erstellt wurde, oder wie sie aussieht. Zumal es wohl auch nciht leicht ist, die Lizenzbedingungen in die Google-Karte zu integrireren.
Hallo,
ich wollt eigentlich einmal die Mapnik OSM Karte und die Satelliten Karte von Google Maps mit Open Layers einbinden.
Bisher habe ich es nur geschaft mit dieser API ein WMS Layer mit einer Karte von Metacarta einzubinden.
Und da ich einen Click Handler verwenden will, der mit anderen Elementen der Website interagiert, komme ich mit der Java Scribt version von Open Layers nicht zurecht.
Danke , für die Antwort. Leider komme ich bei einer Google Webtoolkit Website nicht an den Java Scribt Code und kann dadurch den diesen Tip leider nicht anwenden. Habe allerdings dem Entwickler der oben genannten API mal eine E-Mail geschrieben und warte auf eine Antwort. Wenn ich genaueres weiss, sag ich hier nochmal bescheid.
mfg Michael
Was spricht dagegen die Google-API für die Karten zu verwenden? Diese wird wohl breiter unterstützt sein und wahrscheinlich als Widget für GWT vorliegen. Die API von Google kannst du beauftragen OSM-Karten statt der Google-Karten zu verwenden. Im Prinzip sollte das wie im folgenden JavaScript-Fragment funktionieren.
@ Augustus kling
Hallo, deine Idee mit der Google Maps Api ist klasse, nur bekommen ich wenn ich deinen Code einfüge einen Fehler in der Zeile mit dem return ‘http://’… (bin leider keine Java Script Profi)
der Code inklusive JSNI aufruf sieht jetzt so aus
public static native void addLayer() /*-{
var osmCopyrightCollection = new GCopyrightCollection('');
osmCopyrightCollection.addCopyright(new GCopyright('osm', new GLatLngBounds(new GLatLng(-90,-180), new GLatLng(90,180)), 0, 'Copyright <a href="http://www.openstreetmap.org/" title="Navigate to OpenStreetMap\'s main page">OpenStreetMap<\/a> and contributors.'));
var osmMapnikLayer = new GTileLayer(osmCopyrightCollection, 1, 19);
window.mapnikRequestCounter = 0;
osmMapnikLayer.getTileUrl = function(a, b){
window.mapnikRequestCounter++;
var tileSubdomains = ['a', 'b', 'c'];
return 'http://'+tileSubdomains[window.mapnikRequestCounter%tileSubdomains.length]+'.tile.openstreetmap.org/'+b+'/'+a.x+/'+a.y+'.png';
};
var osmMapType = new GMapType([osmMapnikLayer], G_SATELLITE_MAP.getProjection(), "Mapnik", {
shortName: 'OSM'
});
// map is instance of GMap2
map.addMapType(osmMapType);
}-*/;
hast du oder sonst jemand vielleicht eine Idee woran es liegen könnte?
Ohne den JSNI Code wird die Google Map normal angezeigt.
Danke, für die schnelle Hilfe.
Jetzt kann ichs kompilieren aber es wird nix mehr angezeigt im Webbrowser. Weder meine GWT Website noch die Karte.
Der Internet Explorer gibt folgende Fehlermeldung:
Das heißt, dass die Konstruktorfunktion nicht verfügbar ist. Mein Beispiel geht davon aus, dass die Java-Script API für Google Maps in Version 2 verwendet wird. Diese wird in der Regel wie folgt geladen:
Danke, für die viele Hilfe.
Ich werde es jetzt nochmal versuchen und hoffentlich hinbekommen, wenns funktioniert werde ich hier auch den Code mal veröffentlichen.
mfg Michael