Ich muss an dieser Stelle zugegeben, dass ich absoluter Anfänger auf dem Gebiet OpenLayers bin. Vielleicht könnt ihr mich ja weiterhelfen.
Hier also mein Quelltext-Versuche:
1.: Hier bleibt die Karte weiß!
Hallo WMS mit OpenLayers
Hallo WMS mit OpenLayers
2.: Hier ist die Karte Pink-gekachelt:
Hallo Welt mit OpenLayers
Hallo Welt mit OpenLayers
Vielleicht hat ja auch jemand von euch ein PDF-Tutorial, wenns geht auf deutsch.
Eine andere Frage noch wisst Ihr ob man auch die ArcGIS-Server10 Rest-Schnittstelle mit OpenLayers anzapfen kann?
- Sämtliche Ausführungen des Amtlichen Stadtplanes (incl. Luftbilder) sind urheberrechtlich geschützt.
Die Rechte liegen bei der Stadt Göttingen.
- Eine vollständige, teilweise oder auszugsweise Verwendung der elektronischen Verzeichnisse,
Karten und Bilder für Nutzungen in jeder Art und jeder medialen Form (in Printform, digital, auf CD-ROM etc.)
ist nur mit vorheriger Genehmigung der Stadt Göttingen zulässig.
Du solltest diese Fragen vorher mit der Stadt klären, sonst hast du irgendwann noch ganz andere Probleme.
rosa Kacheln sollte man sich immer ansehen (URL kopieren und in ein Browserfensrt einfügen). Deine rosa Kacheln enthalten den Text “ServiceException code=LayerNotDefined: Parameter layers contains unacceptable layer names”, was schon deutlich weiter hilft.
Das da würde gehen:
<html>
<head>
<title>Hallo Welt mit OpenLayers</title>
<script src="http://openlayers.org/api/OpenLayers.js"></script>
</head>
<body>
<h1>Hallo Welt mit OpenLayers</h1>
<div
id="map"
style="width:1024px; height:512px; border:3px solid #000">
</div>
<script defer="defer" type="text/javascript">
var map = new OpenLayers.Map( 'map',
{maxExtent: new OpenLayers.Bounds(9.79736007679923,51.4794681488844,10.0611811756577,51.6130027308795)
}
);
var wms = new OpenLayers.Layer.WMS(
"OpenLayers WMS",
"http://gis2.goettingen.de/ArcGIS/services/Tageblatt/MapServer/WMSServer?",
{ layers: '1',format:'image/jpeg'}
);
map.addLayer( wms );
map.zoomToMaxExtent();
</script>
</body>
</html>
Zu Deinem Beispiel hab ich zwei Dinge geändert. (1) den maxExtent eingetragen. Und (2) den Layernamen. Wenn ich mir nämlich die Layer dieses WMS raussuche, steht in den “Title”-Feldern nicht ‘STK20graulight.tif’ sondern schlicht ‘1’, weswegen ich den Layer “1” lade. (“0” ist Stk20farbigblank.tif, “2” ist 10000er.tif und dann gibts noch einen Layer namens “default”).
“image/jpeg” war nur das erste Format, das mir eingefallen ist. tiff, png, gif wäre auch möglich (steht auch in den oben verlinkten Capabilities).
Grüße, Max
PS: Mit OSM wird das aber schwierig, wenn ichs richtig sehe hast Du bei dem GIS die Wahl zwischen Plattkarte (EPSG:4326) und Gauß-Krüger 3 (EPSG:31467)…
Wenn es Dir nur um eine unverzerrte Ansicht geht, kannst Dich ja auf die Projektion einlassen, die der Server vorgibt und Gauß-Krüger in Openlayers anzeigen:
.....
<script defer="defer" type="text/javascript">
var map = new OpenLayers.Map( 'map',
{maxExtent: new OpenLayers.Bounds(3555389.7671716,5705372.7029728,3573349.38723256,5719999.81951871),
projection:new OpenLayers.Projection("EPSG:31467")
}
);
var wms = new OpenLayers.Layer.WMS(
....
Zur hübschen Anzeige reicht das. Probleme gibt es später, wenn Du eigene Daten dazu darstellen willst, die müssen dann auch in diesem Koordinatensystem vorliegen…
...
map.addLayer( wms );
map.addControl(new OpenLayers.Control.Permalink('permalink'));
if (!map.getCenter()){map.zoomToMaxExtent();}
</script>
...
Du sagst mit “map.zoomToMaxExtent();”, dass Du immer alles sehen möchtest. Damit nimmst Du OpenLayers die Chance irgendwas aus den Parametern auszuwerten. Mit “if (!map.getCenter()){…}” wird erst geschaut, ob in der URL was anderes steht. Der Permalink ist immer praktisch, weil der liefert die passenden Parameter.
Ich würde mir das mit EPSP:31467 aber überlegen. Die Entscheidung jetzt verfolgt Dich, solange Du mit der Karte arbeitest. Besonders wenn Du was mit OSM dazu einbauen willst, stösst Du schnell an Grenzen, weil einfach kein Dienst bei OSM Deine Koordinaten verwendet. Auch OpenLayers ist nur bedingt auf andere Systeme eingerichtet, Du könntest z.B. jetzt nicht so einfach einen GPX-Track in Deine Karte malen oder auch nur eine Koordinate aus der Wikipedia rauskopieren und per URL übergeben (der Bahnhof liegt z.B. bei deinedomain/karte.html?zoom=6&lat=5711684&lon=3564270 nicht bei lat=51.53677 lon=9.926375)
Grüße, Max
bastel da grad an so einem Tool das auch WMS darstellt mit OL. Damit konnte ich Deine URL grad sehr schön angucken, auch in 4326, sieht aber eben nicht so dolle aus. Der Source für den WMS-Teil ist hier - https://github.com/moenk/yamcat/blob/master/wms.php - und mit ein wenig Änderungen kannst Du den gern verwenden.
LG,
-moenk
PS: Ich bin zufällig nächste Woche genau in der Gegend.