Zoomlevel_Control

Beim GPXViewer hat es ein Zoomlevel-Control mit dabei. Ich habe es natürlich gleich versucht auf meiner Webseite (http://www.orpatec.ch/osm/tools/main.php) einzurichten. Scheinbar gelingt das mir irgendwie nicht, einfügen von “.olControlZoomlevel” in mein CSS sowie das Script laden und das Control eintragen scheinen nicht genug zu sein. Irgenwie schein “zoom” unbekannt zu sein. Was mache ich falsch?

Wyo

Wo er Recht hat, hat er Recht: Die Variable zoom ist unbekannt :wink:

Bei mir steht in der htm zu Anfang:
// Mittelpunkt des Kartenausschnitts:
var lat=51.45;
var lon=8.0;
var zoom=8;

Und dann klappts auch mit deiner Datei.

Gruß,
ajoessen

Tatsächlich, sobald ich eine globale “var zoom=…” einfüge geht es. Müsste vielleicht in der “Zoomlevel.js” erwähnt werden.

Muss diese globale Variable sein? Man müsste das doch via “map.getZoom()” abfragen können, sofern “var map” global ist. Und sonst sollte es auch irgendwie relativ möglich sein, wie weiss ich allerdings nicht. Wer weiss das?

Die Anzeige des Zoomlevel gehört meiner Ansicht nach zwingend auf jede Karte. Allerdings wäre mir lieber, es würde als “title” Tag auf dem Zoom-Handle beim Zoompannel angezeigt werden, wenn man mit der Maus darüber fährt. Die +/- Knöpfe könnten zoom+1/Zoom-1 auf die gleiche Weise anzeigen, oder die Weltkugel zeigt den Zoomlevel. Wenn mir jemand sagt, wo ich diese Stellen in der Source finde, mache ich einen Patch für OL.

Dein Zoomlevel Control würde damit nicht überflüssig, vielleicht will es jemand wirklich so wie du es machst benutzen. Allerdings sollte es dann kaum ein Adresselement sein.

Wyo

Ich hab halt auf die Schnelle keine andere Möglichkeit gefunden, variablen Text auf die Karte zu schreiben.

Gruß,
ajoessen

Ich habe eine Lösung für die globale variable zoom gefunden, wenn du

this.element.innerHTML=OpenLayers.i18n(zoom);
mit
this.element.innerHTML=OpenLayers.i18n(this.map.getZoom());

ersetzt, braucht es die globale Variable nicht mehr.

Wyo

ja gut, kann man so machen.

Meine Lösung als Link hat übrigens den Vorteil, dass man im GPX-Viewer damit wieder auf den ganzen Track zurückzoomen kann.

Gruß,
ajoessen

Inzwischen bin ich wieder ein Stücklein gescheiter geworden. Eingentlich sollte es

this.element.innerHTML=OpenLayers.i18n(“zoom”);

sein, damit der text “zoom” international wird. Leider fehlen die Übersetzungen, so dass das nichts bringt. Muss aber erst noch weitere Tests machen.

Übrings hast du auch einen Permalink auf deiner Karte? Drück mal darauf und schau wie dein Zoom danach ausschaut. Bei mir kommt jetzt zum Zoom auch noch alle Parameter mit angezeigt. Muss da wahrscheinlich nochmals über die Bücher.

Wyo

Gibt es eine Möglichkeit, die Tabelle mit den sprachabhängigen Texten via Javascript zu erweitern? Wenn ja könnte ich das ins Zoomlevel.js einbauen und es könnte allgemein verwendet werden.

Wyo

Ich hab jetzt den Link drinnen gelassen, ist vielleicht gar nicht schlecht. Jetzt sollte es auch mit dem Permalink zusammen funktionieren. Unter http://www.orpatec.ch/osm/Zoomlevel.js kannst du es anschauen.

Wyo