Zoomstufen für OpenLayers. Layer.Text()

Hallo ich bin neu hier, komme jetzt aber öfter.
Habe mehrere Layer mit POIs in Textfiles definiert und es funktioniert alles gut.
Jetzt will ich noch optimieren:

Wie kann ich verhindern, dass ein User die Karte mit meinen Layern, auf Zoomstufen < 11 herauszoomt und dadurch den Überblick verliert ?

Wie kann ich einige meine Layer nur für bestimmte Zoomstufen einschalten ?

Danke
Rainer

Hallo & willkommen,

du kannst im Konstruktor des Layers die Zoomstufe mit übergeben, bis zu der das Layer angezeigt werden soll, also z.B. anstatt

new OpenLayers.Layer.Vector(“myLayer”);

new OpenLayers.Layer.Vector(“myLayer”, {maxResolution: 11.0});

Ist es das, was du gesucht hast?

Hallo gOldfish

vielen Dank für Deine Antwort.
Bis jetzt habe ich noch keine Dokumentation gefunden, die mir alle möglichen Klassen und deren optionalen Parameter erklärt. Ich will doch nicht alles erfragen…

Ok, maxResolution habe ich verstanden. Ist aber wohl nicht die beste Lösung für meine 2 Probleme.

  1. ? MinZoom ?
    Ich möchte nicht alle Zoomstufen (0-18) zulassen. Der User soll sich nur im Bereich von München bewegen können. Also sollte die Zoombar nur die Stufen 11 bis 18 ermöglichen.

  2. ? Icon-Größe ändern in Abhängigkeit von der aktuellen Zoom-Stufe ?
    In der Übersicht (Zoom=11) sollten die Icons klein (8x8) sein, damit sie sich nicht alle überlappen.
    Dagegen bei Zoom 16 bis 18 müssen sie groß (24x24) sein, damit sie nicht zwischen den Karten-Details übersehen werden.

Hallo nochmal,

  1. Die Zoombar zu manipulieren ist wohl nicht ganz trivial, aber möglich. Netzwolf hat in einem anderen Thread (http://forum.openstreetmap.org/viewtopic.php?pid=125577) einiges dazu erklärt und auch ein Bsp. zu verlinkt. Die Nutzer können sich dann aber trotzdem noch mit Verschieben oder Zoom der Scrollrad den Bereich verlassen. Eine Karte, die dies verhindert, habe ich bei Geofabrik mal gesehen: http://www.geofabrik.de/maps/slippymap.html

  2. Geht bestimmt, habe ich bisher noch nicht gebraucht und kann mich auch an kein Bsp. erinnern. Hier springt vielleicht jemand anderes ein.