ich arbeite gerade ein einer etwas komplizierteren Karte und möchte dafür die Beschriftungen zunächst ausgeblendet haben. Der Nutzer soll diese aber später über eine Schaltfläche aktivieren können.
Leider steht in der Doku nichts zu style.display drin Ich würde das auch lieber direkt an dem Style ändern, da es bei mir sehr viele Objekte sind.
Hat jemand von euch vielleicht sowas schon mal gemacht?
Ich habs jetzt nicht ausprobiert, aber dieser typische CSS-Trick mit einer Position von -1000, der auch für Drop-Down-Menüs verwendet wird, kann man den hier nicht auch anwenden?
Uff das klingt für mich etwas weit hergeholt. Styling per CSS ist wohl möglich aber an das Label kommt man als Objekt nicht ran.
Ich denke auch, dass es da saubere wege gibt.
In der Doku steht das deshalb nichts drin, weil das ja an sich nichts mit openlayers direkt sondern eine allgemeine Javascript Technik ist.
document.getElementById ist der Befehl um ein bestimmtes Objekt im DOM zu bekommen
style dann der Befehl um die css Eigenschaft dieses Dom Objektes zu ändern.
in diesem Fall wird eben der css style “display” geändert entweder auf “none” (versteckt) oder “block” (angezeigt)
Wie die Labels von Openlayers im DOM zu finden sind steht ja auch schon im Beispiel : Sie fangen alle mit “LABEL_” + layer.id an und man bekommt sie über das object map.popups
Für solche Sachen verwendet man am besten Firebug, damit kann man schnell bestimmte Style Eigenschaften oder die namen, die openlayers den Objekten vergibt erkennen.
Um die Style Eigenschaften zu ändern kann man dann entweder wie in dem Beispiel mit document.getElementById auf die Elemente zugreifen und die dann so wie angegeben ändern. Noch etwas komfortabler geht das dann z.B. mit jQuery, wenn man das in größerem Umfang macht