OpenLayers 2.12 - mangelnde optische Feinabstimmung?

Ziemlich brutal - eigenlich sollte er ja die Browsereinstellung des Anwenders nehmen (Chinese in Berlin …).

etwa so: “OpenLayers.Lang.setCode(get_browser_language());” pseudo-code, da ich den aktuellen Namen nicht kenne.

Gruss
walter

Fireball,

beschränken ist gut, aber alles in art, img, lib und theme sollte schon auf der Server hochgeladen werden.

LG,

-moenk

Sorry. Ich hab übersehen, dass ich auch noch de.js einbinde:

<script src="../OpenLayers.js"></script>                    
<script src="../OpenLayers/lib/OpenLayers/Lang/de.js"></script>

Dein Beispiel mit OL 2.12, abgespeckt auf einen Mapnik-Layer sieht auf deutsch so aus: http://geo.dianacht.de/tests/langtest.html (deutsch ist da allerdings nur die Überschrift im Lagenumschalter “Grundkarte”).

Mir ist auch aufgefallen, dass Du Mapnik mit “OpenLayers.Layer.OSM.Mapnik(…)” einbindest. Das kommt noch aus einer zusätzlich eingebundenen “OpenStreetMap.js”, oder? Irgendwann hat OL angefangen, OSM schon einzubauen mit “OpenLayers.Layer.OSM(…)”. Dann braucht man OpenStreetMap.js vielleicht gar nicht mehr und hat eine Fehlerquelle weniger.

Zum Chinesen bin ich ja sowieso brutal und schreib alles auf deutsch. Hilft ihm ja nichts, wenn ich nur die 5 Elemente im OL anders anzeige.

Grüße, Max

Übrigens, “OpenLayers.Layer.GML” ist anscheinend weggefallen. War in 2.11 noch drin, aber “deprecated” und wer achtet schon auf sowas … :wink:

Wer also z.B. seine GPX-Tracks oder KML-Dateien so wie wie hier im Wiki beschrieben darstellt, und die automatischen Updates von openlayers.org mitmacht, wird ab heute nichts mehr davon sehen.

Grüße, Max

Das Problem hatte ich heute auch. Allerdings bei NOPs Wanderkarte. Mit diesem Code funktionierte es hier:


     <script src="http://www.openlayers.org/api/OpenLayers.js"></script>
     <script src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>

....

base = new OpenLayers.Layer.OSM('WRK', 'http://wanderreitkarte.de/topo/${z}/${x}/${y}.png', 
					{isBaseLayer:true,
					 tileOptions: {crossOriginKeyword:null},
					 attribution: "<a href='http://wanderreitkarte.de'><b>Nop's Reit-&Wanderkarte</b></a> Daten <a href='http://openstreetmap.org/'>OSM</a> DEM <a href='http://srtm.csi.cgiar.org'>CIAT</a>",
					 numZoomLevels: 16, opacity: 0.5 } );

Die entscheidende Zeile:

tileOptions: {crossOriginKeyword:null}

Bei der neuen Version ist der Standard “anonymous”. Siehe http://dev.openlayers.org/docs/files/OpenLayers/Layer/OSM-js.html#OpenLayers.Layer.OSM.tileOptions.

VG Petra

Geht mir auch so.

Zum Anpassen gibt es zwei Möglichkeiten:

  1. Das alte PanZoom Control wieder einbinden

Am einfachsten ist vermutlich, die default controls zu entfernen und manuell hinzuzufügen, mit Control.PanZoom (oder eben PanZoomBar) statt des neuen Control.Zoom:


    map = new OpenLayers.Map({
        div: "map",
        projection: "EPSG:900913",
        controls: []
    });
    map.addControl(new OpenLayers.Control.Navigation());
    map.addControl(new OpenLayers.Control.PanZoom());
    map.addControl(new OpenLayers.Control.ArgParser());
    map.addControl(new OpenLayers.Control.Attribution());

  1. Den CSS Style des Control.Zoom anpassen

Das Zoom Control Example zeigt, wie man die Zoom Buttons komplett austauschen kann, inklusive Text.

Es reicht aber auch, die Farbe der CSS Styles (siehe style.css) zu überschreiben:


        <style type="text/css">
            div.olControlZoom a {
                background: #00008B !important; /* fallback for IE - IE6 requires background shorthand*/
                background: rgba(0, 0, 139, 1.0) !important;
                filter: alpha(opacity=100) !important;
            }
            div.olControlZoom a:hover {
                background: #00008B !important;  /* fallback for IE */
                background: rgba(0, 0, 139, 0.7) !important;
                filter: alpha(opacity=70) !important;
            }
            @media only screen and (max-width: 600px) {
                div.olControlZoom a:hover {
                    background: rgba(0, 0, 139, 0.5) !important;
                }
            }
        </style>

Gruß,
Norbert

Auch laut Readme reicht OpenLayers.js + theme + img.

Das lib Verzeichnis benötigt man nur falls man fürs Debugging lib/OpenLayers.js einbinden will, das ist mit der komprimierten OpenLayers.js etwas schwierig. Im art Verzeichnis sind nur die SVG Vorlagen zum Erzeugen der pngs in den img Ordnern, das wird zur Laufzeit nicht benötigt.

Eine Frage am Rande: NOP’s Höhenlinien gibt’s die noch? Geht bei nämlich auch nicht mehr?!


map.addLayer(new OpenLayers.Layer.OSM("Höhenlinien", "http://wanderreitkarte.de/hills/${z}/${x}/${y}.png" , {numZoomLevels: 16, isBaseLayer:false, visibility:false, attribution:'<a href=http://wanderreitkarte.de><b>Nops Reit-&Wanderkarte</b></a>'}));

Danke, der Eintrag hat geholfen. Vor über einem Jahr hatte ich mich diesbezüglich schonmal fast “totprobiert”. Ich habe mir die “de.js” etwas angepasst (Base Layer = Art der Karte, Overlays = Zusatzinformationen), klingt so weniger technisch. :wink:

Aber natürlich! “OpenStreetMap.js” adé, verdammt guter Tipp, ich danke Dir.

Jawohl, jetzt brauche ich den lib-Ordner doch (de.js): hunderte Dateien, nur um 2 Wörter einzudeutschen, naja … . :confused:

Moin,

besten Dank an Petra: Das mit der tileOptions war genau richtig, so geht der deutsche Stil auch mit der OL 2.12!

Und danke auch an Norbert: So einfach kann das sein. Ich habe den ersten Weg gewählt, war am einfachsten so.

Damit bin ich dann auch wieder auf dem aktuellen Stand, wer eine Vorlage braucht möge sich bei YAPIS bedienen :wink:

Sehr schön auf die Lokalisierung, es sind zwar nur ein paar Worte im Layer-Switcher, aber warum nicht, der Lang-Code war in meinem Fall sowieso immer verfügbar.

LG,

-moenk

hi,

so kommt man ganz schnell - z.b. für produktive Seiten - auf 2.11 zurück:

Dann ist man den Druck ein wenig los, ohne dass man die alten Scripte lokal installieren muss.

Gruss
Walter

Die Höhenlinien sind da. NOP hat auf neue Rendertechnik umgestellt http://www.wanderreitkarte.de/news_de.php, was sich auch in der Datei http://wanderreitkarte.de/static/trackmap.js widerspiegelt.

VG Petra

Das bedeutet doch, dass ich mit OpenLayers NOP’s Höhenlinien (s.o.) nicht mehr einblenden kann, oder? Falls dem so ist, kennt da jemand einen alternativen Kachelserver für Höhenlinien? Ich würde mich freuen …

Hi !

ich habe jetzt auch angefangen 2.12 zu testen und wenn ich neue Karten sehe dann sind gleich die “neuen” Navi-Controlls zu sehen.

Bei mir kommen weiterhin die “alten” und ich habe mal abgefragt das diese aus dem 2.12-Verzeichnis stammen.

Meine mal irgendwo gelesen zu haben das diese jetzt auch über CSS gesteuert werden. Kann mir einer weiterhelfen ?

Möchte doch auch up2date aussehen !

Gruß Jan :slight_smile:

Was meinst Du denn mit Navi-Controlls? Die Zoomknöpfe sind “OpenLayers.Control.Zoom” statt z.B. “PanZoom” oder “PanZoomBar”.

Gibts noch mehr Veränderungen? Moenks ursprüngliche Kritik war ja dass sich so wenig verändert hat und jetzt die viereckigen Zooms z.B. nicht mehr zum runden LayerSwitcher (+ passen…

Moin maxbe,

das ist auch so. Die Knöpfe akzeptier ich mal so wie sie per Default sind auf Seiten die keinen LayerSwitcher haben, z.B. hier: http://yapis.eu/?id=3&lang=de - auf Seiten die auch den LayerSwitcher haben sollen nehme ich dann die Controls wie oben weiter empfohlen explizit rein, damit es zueinander passt, z.B. so: http://yapis.eu/?id=9&lang=de
Was sich wesentlich geändert hat zur 2.12 ist dass Yahoo-Layer nicht mehr dabei sind (deprecated) und für den deutschen Stil eine zusätzliche Option rein muss (siehe auch hier weiter oben).

LG,

-moenk

Habe gerade in der ol blog Überschrift gelesen das die wohl an Version 3 arbeiten und vielleicht deshalb noch so eine Art Zwischenupdate gemacht haben.

Aber nur eine Vermutung - leider mit der Folge das User mit direkten js Dateien von ol Server nicht angezeigt werden.

Gruß Jan

Bei mir ist www.openlayers.org/api/2.12/OpenLayers.js erreichbar, die letzten release notes dazu sind vom 1.7. und in diesem OL-Blog ist ein drei Wochen alter Artikel, der über die Pläne für OL 3 berichtet, aber Zwischenupdates für 2.12 nicht erwähnt…

hi !

das mit dem Zwischenupdate ist so ein Begriff den ich dafür verwendet habe.

Hier noch der Link zu einem deutschsprachigen Blog zu OL3 - http://www.terrestris.de/2012/06/21/codesprint-openlayers-3-0

Gruß Jan :slight_smile:

Habt Ihr auch diese weißen Trennlinien zwischen den Tiles ?
(Win7 / FF 13).

Ja, die sehe ich ganz genau. Auch die beiden roten Pfeile :wink:

aber jetzt im Ernst: welche Karte meinst du hier? die ganz normale Mapnik oder was spezielles?
Gruss
walter