OEPNV-Karte in OpenLayers
Frank Jäger
frank at fotodrachen.de
Sa Feb 21 13:51:21 CET 2009
Hallo,
ich möchte auf meiner Homepage mit Startposition auf einen Ort die
verschiedenen Darstellungen von OSM-Daten zeigen.
Auf http://www.fotodrachen.de/osm_lemgo.htm sind das neben "Mapnik" und
"Osmarender" zur Zeit die "Radkarte" und (als Overlay) die "MaxSpeed-Karte".
Später sollen noch die "Wanderkarte" und ein "OSM-WMS" mit UMN-Mapserver
dazu kommen und was sich noch so entwickelt.
Seit einiger Zeit kämpfe ich nun damit, die "ÖPNV-Karte" dort einzubauen.
Hier unsere Salzufler "Paulinchen-Bahn":
http://www.öpnvkarte.de/?lat=52.09205&lon=8.75324&zoom=15
(Sie wird gerade wieder flott gemacht, denn ab 1. März fährt sie wieder)
Das Besondere daran ist:
Bis zur Zoom-Stufe 13 ist es ein vorgerenderter gekachelter Dienst.
Da der kleine Server damit überlastet wäre, auch für alle feinen
Zoomstufen Kacheln auf Vorrat zu rendern und zu speichern, übernimmt ab
Zoom 14 ein WMS (Web Map Service). Der rendert erst auf Anforderung.
Nicht als Kacheln sondern den kompletten aktuellen Karteninhalt.
Also "Ein Thema" in der Auswahl = 2 Dienste.
Dieser Sonderfall ist bei OpenLayers nicht vorgesehen.
Ich versuche, das über Events abzufangen und zwischen Zoom 13 und 14
zwischen den beiden Diensten zu wechseln, möglichst unmerklich für den
Anwender.
Da ich mich mit Java etwas schwer tue und wenig Erfahrung mit OpenLayers
habe, bekomme ich es bisher nicht hin.
Der erreichte Zustand ist in folgenden (versteckten) Entwicklungsversionen:
http://www.fotodrachen.de/osm_lemgo_dev.htm
http://www.fotodrachen.de/javascripts/map_dev.js
Ich lasse Informationen über die Events in eine Firebug-Console ausgeben.
Auf der Originalseite werden keine anderen Themen gezeigt.
Es gibt daher keinen LayerSwitcher. Es braucht nur der Base-Layer
gesetzt werden. Hier muss man aber beim Umschalten überwachen, ob "das
Thema" gerade eingeschaltet ist.
Kann einer von euch erkennen, was ich hier falsch mache?
Manchmal erscheinen beide Einträge im Layer-Switcher.
Manchmal sind sie augeschaltet, obwohl die Karte sichtbar ist.
Zoomt man rein (>13) und dann wieder raus, wird der gekachelte Service
nicht mehr angezeigt.
--
Frank Jäger
|\__
(:> __)(
|/ http://www.FOTODRACHEN.de
More information about the OSM
mailing list