farben

Hallo :slight_smile:

Wenn man sich eine map anzeigen lässte, sind links diese blauen Icons, über die man hinein- oder hinauszoomen kann. Mir gefällt aber diese blaue Farbe nicht. Kann man die ändern?

schöne Weihnachts-Feiertage wünsche ich noch!! :slight_smile:

Vermutlich nur durch Anpassung von OpenLayers, das ist das JavaScript Modul welches für die Anzeige der Map zuständig ist.

Chris

Finde ich leider auch nichts dazu.

hast ja auch nur maximal 16 minuten gesucht.
es gibt “theorien”, dass das durch spezielle css-angaben gehen könnte. openlayers ist auf jeden fall die richtige ecke.

gruss
walter

Ich wusste gar nicht, dass man mit CSS die Farbe von Grafiken ändern kann. Aber OK. Dann suche ich mal auch noch zusätzlich mit den Stichwort CSS. Danke vorerst mal :slight_smile:

Da das Grafiken sind, sollte das am einfachsten gehen, wenn man sich ein lokales OpenLayers installiert.

Am einfachsten lädst du dir mein OLM herunter, (http://olm.openstreetmap.de/builds/olm-5.2.tar.gz), und ziehst dir aus dem Unterordner js die Openlayers.js sowie die Ordner img und theme raus. Da ich mir das OpenLayers selbst angepasst habe, kann es sein, dass für deine Anwendungszwecke Teile von Openlayers in diesem Build nicht enthalten sind. Um völlig sicher zu gehen, kannst du die OpenLayers.js durch die komplette von der Homepage ersetzen (http://openlayers.org/api/OpenLayers.js).

Jedenfalls kannst du dann im Ordner img die Grafiken durch deine eigenen ersetzen.

Denk vorher noch daran, den Pfad zur einzubindenden Openlayers-Datei anzupassen!

Ohje, ohje, ohje. Viel zu kompliziert für mich.

Habe übrigens weiter herumgesucht.
Ich glaube nicht, dass OSM diese Möglichkeit vorgesehen hat, die Farben zu ändern.
Finde weder etwas auf http://dev.openlayers.org/docs/files/OpenLayers/Control/PanZoom-js.html#OpenLayers.Control.PanZoom.OpenLayers.Control.PanZoom noch z. B. auf http://dev.openlayers.org/docs/files/OpenLayers/Control/ZoomIn-js.html

Und wenn man sich https://www.geoext.org/browser/sandbox/fvanderbiest/openlayers/lib/OpenLayers/Control/PanZoomBar.js?rev=1941 anschaut, scheint es, als wären die Icons fix reingecoded.

if (this.zoomWorldIcon) {
this._addButton(“zoomworld”, “zoom-world-mini.png”, px.add(sz.w, 0), sz);

Zumindest das kann ich Dir 100% versichern. “Wir bei OSM” haben mit OpenLayers nichts zu tun. Das wäre ungefähr so, als wenn Du Dich beim Kartenersteller Navteq beschweren würdest, weil Google Maps in Deinem Browser nicht richtig angezeigt wird.

Hm. Ich kenne mich nicht damit aus, wer was macht.
Aber vielleicht weiß es hier ja doch jemand, ob und wie man das ändern kann (ohne irgendwelche Sachen lokal installieren zu müssen :slight_smile: ).

Wer macht denn “OpenLayers”, wenn nicht OSM?

Das kann gut sein, OL ist hier sehr beliebt. Aber Du kannst auch OSM auch in Google Maps Api einbinden…auch wenn das nicht so erwünscht ist

Die da
http://openlayers.org/

Falls das, was ich gerne machen würde, nicht möglich sein sollte … könnte man die bitten, eine Möglichkeit vorzusehen, dass man diese Grafiken austauschen kann? Mit den Markern ist es ja auch möglich. Das habe ich schon geschafft.

Nahmd und frohe Weihnachten,

Ja. Und zwar so: http://www.netzwolf.info/kartografie/openlayers/olimgpath.htm

Gruß Wolf

Toll!!! Ganz toll! :slight_smile:

Ich hatte schon http://openlayers.org/ runtergeladen und angefangen, die Dateinamen zu ersetzen. Aber deine Variante ist mir natürlich viel lieber! :slight_smile:

Danke!

Kann ich die Position und Größe der Icons auch noch irgendwie beeinflussen?
Ich würde es nämlich gerne so machen, dass die north/west/south/east-Buttons alle schön im Kreis angeordnet sind.

Nahmd,

Dazu müsstest Du die Methode draw() der “Klasse” OpenLayers.Control.PanZoomBar überschreiben.
Möglicherweise geht die Aktivierung des “world-zoom”-Buttons in die gewünschte Richtung: http://www.netzwolf.info/kartografie/openlayers/olimgpath.htm

Die Anordnung sieht wirklich gut aus, ist aber mit den OL-Buttons nicht zu realisieren.

Der Grund ist einfach: die Buttons werden durch

realisiert, und
sind immer rechteckig, auch wenn die eingelagerte Grafik transparent ist. In Deinem Fall würden die vier Buttons sich teilweise verdecken, wodurch der Kartennutzer leicht die falsche Funktion aktiviert. Web-Markting-Fritzen beschreiben das so: “das Kartenerlebnis leidet”.

Dein Design würde man mit einer Schaltfläche und einer Graphik realisieren, um dann bei jedem Klick die Pixelposition abzufragen und abhängig von dieser Position die gewünschte Aktion auslösen. So hast Du völlige Freiheit beim Design.

Gruß Wolf

Moin,

Weil Weihnachten ist: http://www.netzwolf.info/kartografie/openlayers/clickfield.htm

Gruß Wolf

hi,

ich habe nochmal drüber nachgedacht:

farben von grafiken, die als png/gif/…-file benutzt werden, lassen sich natürlich NICHT per css ändern.
nur bei farben, die z.b. als foreground/background/fillarea verwendet werden, geht das manchmal.

es geht aber dennoch - und diese lösung hat noch andere vorteile. ich muss nur etwas abschweifen um das zu erklären:

openlayers ist in java-script geschrieben und wird oft durch


...
<script type="text/javascript" src="http://www.openstreetmap.org/openlayers/OpenStreetMap.js"></script>
...

in die eigene webseite eingebaut.
das hat den nachteil, dass die eigene seite öfters “klemmt”, weil ol sehr oft down ist.
lädt man sich das ganze ol-zeug vom ol-server runter (http://openlayers.org/download/OpenLayers-2.10.zip) und speichert man es lokal ab, kann man das so implementieren


...
<script type="text/javascript" src="ol/OpenLayers.js"></script>
...

da ist man unabhängig vom ol-server
und jetzt kann man die grafiken, die ja jetzt auch im eigenen ol-bereich liegen, einfach ersetzen.

alle paar monate sollte man dann mal nachsehen, ob es ne neue release gibt (3.0 soll angeblich q1/11 kommen)

gruss
walter

Genau das gleiche hatte ich bereits ein paar Postings früher genannt…

Echt toll! Hätte ich nie geschafft!
Aber ich glaube, dir ist ein Flüchtigkeitsfehler unterlaufen.
Wenn man auf den south-Button klickt, bewegt man sich in Richtung Norden.

P. S. die Grafiken sind mir ganz gut gelungen, oder? :slight_smile: Ich glaube, sie wirken etwas “leichter” und freundlicher als die Standard-Buttons.

Das ist natürlich nicht optimal. Warum ist sie so oft down?

Wenn man meine früheren Postings durchliest, sieht man, dass ich mir in Flash einen eigenen, wirklich sehr, sehr rudimentären Renderer programmiert habe. Leider musste ich diese Entwicklung dann abbrechen, weil ich ständig Connention-Probleme hatte.

Dieses Paket OpenLayers-2.10.zip, das ich runterladen soll, ist 7.5MB groß. Was ist darin enthalten? Sind da auch alle Grafiken drin, die für die Dartellung der Karte benötigt werden? Ist man dann vollkommen unabhängig von anderen Servern?

Wenn eine neue Version rauskommt, was ändert sich dann? Wie schaut das eigentlich mit den Kartenmaterial, also den Grafiken aus? Ich könnte mir vorstellen, dass die alle paar Tage erneuert werden, richtig? Muss man dann wirklich alle paar Tage das Paket neu runterladen?

Mir gefällt es ehrlich gesagt sowieso nicht, wenn ich einen Teil auf meinem Server und einen anderen Teil auf einem anderen Server liegen habe. Werden dort Änderungen vorgenommen, könnte es sicherlich passieren, dass sich diese Änderungen dann nicht mit den lokal installierten Scripts vertragen.

Nahmd,

Das war selbstverständlich kein Fehler, sondern ein bewusst eingebauter Aufmerksamkeitstest!
[×] Du hast den Test bestanden.

.oO( ich fürchte den Tag, an dem mir einmal keine Ausrede einfällt )

Die sehen wirklich gut aus.
Technisch natürlich noch verbesserungsfähig: ich hab das Icon beschnittten, den äußeren Bereich grau gefärbt und dann das Grau transparent gemacht: dadurch ist weißes Gekrissel am Rand der Transparenz übrig geblieben. Viel besser sieht es aus, wenn die Grafik direkt auf transparentem Hintergrund gebaut wird.

Wenn Du noch eine Skala und einen Slider baust, kann ich das Script zu einer voll konfigurierbaren Alternative zur PanZoomBar erweitern :slight_smile:

Das “all in one” OpenLayers.js hat ca. 700k, zusammen mit den Icons und Stylesheet ist man bei ca. 800k.
Darin sind NICHT die Kacheln enthalten!

Zur Größenordnung der Kacheln:
→ Zoomstufe 0: 1Kachel
→ Zoomstufe 1: 4 Kacheln
→ Zoomstufe 2: 16 Kacheln
→ Zoomstufe n: 4^n Kacheln
→ Zoomstufe 10: 1 Million Kacheln
→ Zoomstufe 15: 1 Milliarde Kacheln

Eine Kachel hat um 30k (hängt sehr vom Inhalt ab, blaues Meer ist natürlich viel kleiner), aber selbst mit 1k/Kachel gerechnet braucht bereits die Zoomstufe 15 ein Terabyte Speicher.

Nur wenn der von Dir angezeigte Bereich sehr klein ist, ist das lokale Vorhalten der Kacheln sinnvoll.
Wenn Besucher häufig die gleichen Bereiche anschauen, ist das Caching der Kacheln sinnvoll.

In den meisten Fällen empfiehlt sich der Bezug der Kacheln von einer zentralen Infrastruktur – natürlich bei Beteiligung an den Kosten der Infrastruktur.

Die Kacheln werden neu gebaut, wenn im von der Kachel abgedeckten Bereich sich etwas geändert hat und die Kachel einmal abgerufen wurde (Neubau on demand). Je nach Auslastung der Server hab ich schon 10min nach einer Änderung die aktualisierten Kacheln gehabt.

Nur wenn Du eine der neuen Funktionalitäten brauchst oder wenn ein Bug gefixt wurde, der für Dich von Bedeutung war.

Bei den Kacheln ist das (fast) unvermeidbar.

Da habe ich keine Bedenken, denn die Struktur von OpenLayers ist bereits recht stabil.
Ich benutze für meine normalen Seiten eine lokale Kopie von OL (die auch schon mal ein halbes Jahr hinter dem aktuellen Stand her hinkt); die zum Downloaden bestimmten Seiten benutzen das OL vom OL-Server, damit die Download-Pakete schön klein bleiben.

Gruß Wolf