Hilfe bei OpenLayers

bau mal das ganz oben ein, damit sollte das Rosa weg sein - und dann macht es wohl Sinn.


// avoid pink tiles
   OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
   OpenLayers.Util.onImageLoadErrorColor = "transparent";

gruss
walter

Ich weiß nicht wo ganz oben?
Ich hab es mal hier eingebaut:


[...]
<script type="text/javascript">
// avoid pink tiles
   OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
   OpenLayers.Util.onImageLoadErrorColor = "transparent";

// Start position for the map (hardcoded here for simplicity)
        var lat=51.1950;

[...]

An der Stelle hat es aber nichts gebracht.

komisch, sollte eigentlich dort richtig sein.

Gruss
walter

:frowning:

Ich hab versucht den Code noch zu verändern, aber bin noch zu keinem Ergebnis gekommen
Hat vielleicht jemand noch eine Idee wie ich diese “404” Tiles transparent machen kann?

Vielen Dank schonmal im Vorraus! :slight_smile:

Hier hab ich noch was gefunden, anscheinend geht der Trick mit OpenLayers.Util.onImageLoadErrorColor seit Version 2.12 nicht mehr… Kannst ja mal mit dem CSS versuchen.

Das klingt super! Noch besser ist es eigentlich dass man sogar ein eigenes “Missing Tile” Bild nehmen kann!
Ich kenn mich bei css nicht sehr gut aus. Ich habs so verstanden dass ich jetzt folgenden Code in eine CSS Datei einfügen soll:


.olImageLoadError {
    display: none !important;
}

und in der HTML Datei dann


.olImageLoadError {
    background-image: url('/path/to/theme/img/my-tile-load-error.png');
    background-repeat: no-repeat;
}

Aber aus alten VB.NET Zeiten würde das kein Sinn für mich ergeben, denn ich rufe ja nirgendwo die CSS Datei auf.
Würde mich echt freuen wenn ihr mir nochmal bei der CSS Sache helfen könntet!

ein RIESIEGES DANKE IM VORRAUS!!! :slight_smile:

So ungefähr:

<html>
<head>
    <title>OSM Local Tiles</title>
    <link rel="stylesheet" href="style.css" type="text/css" />                                            <-- steht schon drin
    <style type="text/css">                                                                                            <-- hier kommen 6 Zeilen dazu kommt dazu
      .olImageLoadError {                                                                                                  
         background-image: url('/path/to/theme/img/my-tile-load-error.png');
         background-repeat: no-repeat;
      }     
    </style>                                                                                                                   
    <!-- bring in the OpenLayers javascript library                                                            <-- das war auch schon vorher da                                                                         
    ......................

oder statt dem eigenen Bild eben dieses “display: none !important;”. Aber eigenes Bild malen finde ich schöner, kannst ja auch ein transparentes 2556x256-Bild nehmen, dann ist es auch unsichtbar.

Danke!!!

Funktioniert Super!

Vielen Dank!

jo, das erklär (mir) einiges. war mir sicher, dass das so mal funktioniert hat.

Gruss
walter

Eine letze Frage hätte ich noch:

Welche OpenLayers Version wird in diesem Beispiel verwendet? (http://wiki.openstreetmap.org/wiki/OpenLayers_Local_Tiles_Example)?

Konnte dem hier keine Infos entnehmen: http://forum.openstreetmap.org/viewtopic.php?id=7572

wegen wget http://www.openlayers.org/api/OpenLayers.js im Example immer die aktuellste - also derzeit wohl 2.13

ist sehr unsauber, da genau solche Release-Abhängigkeiten durchschlagen. Ich hole mir immer exakt die Version, die ich kenne und haben will. wenn das z.B. die 2.12 sein muß, mach


<script type="text/javascript" src="http://openlayers.org/api/2.12/OpenLayers.js"></script>
 
    oder   

wget  http://openlayers.org/api/2.12/OpenLayers.js 

andere Versionen (2.11?) analog

Damit geht man auf Nummer sicher.

Gruss
walter

Ok, vielen Dank!
Hatte die Datei im Editor geöffnet weil ich dachte in der Datei selber, beim Copyright Hinweis würde die Version stehen, aber da stand nichts ausser halt dem Copyright.

Aber hab nicht daran gedacht dass die Version ja im Link steht!

Danke!

Viele Grüße
Alexander

da steht sie in dem Beispiel vom wiki eben nicht.

aber bau doch mal

console.log(OpenLayers.VERSION_NUMBER); oder alert(OpenLayers.VERSION_NUMBER);
ein. dann bist du auf der sicheren Seite.

Gruss
walter

Danke :slight_smile:

Release 2.13.1

Da bin ich nochmal,

Ich möchte unten rechts dass “Permalink” umbennen in “Reload”.
ich hab in der HTMl Datei “Permalink” gefunden, aber wenn ich da es umbenne, ändert sich nichts im Browser.
Ich nehme mal an, das ist, damit man den Copyright nicht entfernt, will ich ja auch (auf keinen fall) nicht.
Aber das “Permalink” scheint auch geschützt zu sein?

Wie kann ich das umbennen?

Keine Ahnung. Wenn ich frei konfigurierbare Permalinks brauche, hole ich mir immer was passendes vom Netzwolf

Mir fällt noch gerade auf, dass OpenLayers im Internet Explorer nicht korrekt angezeigt wird.
Für das “normale” OpenLayers gibt es 2 *.css Dateien. Für meine genutze Variante (mit Offline Nutzung) nur eine.
Ich hab jetzt einfach mal versucht meine *.css Datei durch die von dem normalen zu ersetzen. Das ended dann aber in einer völligen Katastrophe!

Ich finde dass das OpenLayers mit der Offline Nutzung allgemein im Wiki schlecht/umständlich dokumentiert ist im Gegensatz zum normalen OpenLayers.

Könntet ihr vielleicht noch ein letzten Mal helfen bei dem Problem aus dem Zitat und dem aus diesem Postig? :slight_smile:
Bin unglaublich froh über so nette, hilfsbereite Leute wie euch! :slight_smile:

PS:

Im Grunde möchte ich ja nur dass da nicht “Permalink” steht sondern “Reload” :slight_smile:

Du kannst dem Permalink eine Element-id mit übergeben:

new OpenLayers.Control.Permalink(‘permlink’)

und dort im Prinzip irgendwas reinschreiben:

Reload

Edit: von manuellem Basteln an openlayers.js würde ich eher abraten, das rächt sich beim nächsten Versionsupdate.

Ich habs!

In der OpenLayers.js in der Zeile 731, Spalte 377 ist der Name “Permalink”. Wenn man den unbennent in z.b. “Reload” steht das auch unten rechts in der Webseite!

Bleibt nur noch mein Problem mit den Internet Explorer :frowning:

PS: Jetzt lief es, komisch :roll_eyes:
Ist für den Internet Explorer denn trotzdem ein extra css notwendig/sinnvoll?
Weil in dem “normalen” OpenLayers ohne Offline Tiles wird ja auch eine 2te css datei verwendet?

Keine 'ne Idee? :frowning:

Ich hab noch eine Frage: Kann man am Anfang und am Ende einer Route einen Marker setzen?
Ich hab ein Beispiel hochgeladen: http://www.david-guillot.tk/OpenLayers/OpenLayers.html
Hier endet die Route ja einfach, aber ist es möglich am Anfang und am Ende einen Roten (Anfang)und einen Grünen (Ende) zu setzen?

PS: Danke für die super Hilfe bisher und eure Mühe mir zu helfen, auch wenn es vielleicht ziemlich viele Fragen zu OpenLayers sind :slight_smile: