Hallo Forum,
in einer OpenLayers-Anwendung möchte ich gerne Open Street Map nutzen. Dazu habe ich den basislayer eingebunden. Doch leider wird mein Koordinatensystem nicht unterstützt. Dieses darf(!) ich leider nicht ändern. Kann ich den OSM-WMS irgendwie in das Koordinatensystem 2398 umwandeln?
Ich benutze die einfache OpenLAyers Funktion var wms = new OpenLayers.Layer.WMS(“Open Street Map”, Parameter…);
vielen Dank für eure Hilfe bzw eure Ideen wie ich das Problem lösen kann.
mfg
balli
So weit ich weiß, kann man bereits beim Erzeugen des OpenLayers.Map Objektes das Koordinatensystem festlegen, indem man projection und displayProjection setzt:
Hi, vielen Dank für deine Antwort, leider bekomme ich folgenden Fehler: “OpenLayers.Layer.OSM is undefined” und das sowohl beim einbinden der OpenStreetMap.js aös eigenständige Datei auf dem Server, als auch beim einbinden als http-source. Woran kann das liegen?
freundliche Grüße
Balli
Hm… Das ist seltsam. Hast du sie vielleicht in der falschen Reihenfolge drin? Zuerst kommt die OpenLayers.js, dann die OpenStreetMap.js. Hier ist noch ein Beispiel mit Quelltext:
ja, danke genau daran lag es. hätte ich auch selbst drauf kommen müssen. es ergeben sich jedoch jede menge neuer “fehler”. Zur Erklärung ich nutze OpenLayers im Rahmen vom Mapfish-Projekt. Sobald ich dann das Mapnik einbinde werden mir folgende Fehler ausgegeben: “tile is undefined” und wenn ich den Kartenauschnitt testhalber verschiebe kommt “bottomLeftTile is undefined”. Wenn ich das Beispiel ausprobiere klappt alles, aber wie gesagt im Zusammenspiel mit Mapfish nicht.
Hallo,
ich würde mich noch einmal über Hilfe freuen:
Mittlerweile wird die Karte angezeigt, jedoch nur als Maxextent(gesamte Welt) sobald ich anfange zu zoomen und dann zu verschieben, spielt alles verrückt.
dabei denke ich das mein code ganz gut ausschaut:
function createMap() {
map = new OpenLayers.Map(‘center’, {
projection: new OpenLayers.Projection(“EPSG:900913”),
displayProjection: new OpenLayers.Projection(“EPSG:4326”),
controls: [],
maxExtent: new OpenLayers.Bounds(-20037508.34,-20037508.34, 20037508.34, 20037508.34),
numZoomLevels: 18,
maxResolution: 156543,
units: ‘meters’
});
osm = new OpenLayers.Layer.OSM.Mapnik("Mapnik",{singleTile: true}); //ohne singleTile wird die Karte erst gar nicht angezeigt
map.addLayers([osm]);
map.setCenter(new OpenLayers.LonLat(10.46, 51.47), 6);
};
Ext.onReady(function() {
//Variablen mit Parametern gültig für alle Bereiche innerhalb der onReady-function
createMap();
/*var wms = new OpenLayers.Layer.WMS("OpenStreetMap WMS",
"http://osm.omniscale.net/proxy/service?",
{layers: 'osm', format: 'image/jpeg', "sphericalMercator": true}, {singleTile: true,ratio: 1}); */
var status;
welt="";
var markers;
createToolbar();
wheelZoom();
setToolbarContent();
toolbar.activate();
map.addControl(new OpenLayers.Control.MousePosition());
optik();
});