Openlayers/Kosmos-Problem

Hallo!

Ich experimentiere gerade unter http://osm.duschmark.de ein wenig mit Kosmos und Openlayers rum. Ich bin nach http://wiki.openstreetmap.org/wiki/DE:Openlayers_Kosmos_example vorgegangen. Die Tiles habe ich aber von einem anderen Bereich erzeugt und sie sehen auch gut aus. die Verzeichnis-Struktur sah in etwa so aus:

Verzeichnis

Diese Struktur habe auf dem Webserver direkt unter /tiles abgelegt.

Aber der Kosmos-Layer wird nicht angezeigt. Irgendwo in der HTML- bzw. der JS-Datei muß wohl ein Fehler sein. Kann mir jemand helfen?

Danke!

Christian

Die Seite heißt http://osm.duschmarke.de

Zeig mal deine Java-Script datei?
Ich vermute das der Pfad zu deinen Tiles nicht ganz passt.

Gruß

Hier das Java-Script:

http://osm.duschmarke.de/OpenStreetMap.js


/**
 * Namespace: Util.OSM
 */
OpenLayers.Util.OSM = {};

/**
 * Constant: MISSING_TILE_URL
 * {String} URL of image to display for missing tiles
 */
OpenLayers.Util.OSM.MISSING_TILE_URL = "http://openstreetmap.org/openlayers/img/404.png";

/**
 * Property: originalOnImageLoadError
 * {Function} Original onImageLoadError function.
 */
OpenLayers.Util.OSM.originalOnImageLoadError = OpenLayers.Util.onImageLoadError;

/**
 * Function: onImageLoadError
 */
OpenLayers.Util.onImageLoadError = function() {
    if (this.src.match(/^http:\/\/[abc]\.[a-z]+\.openstreetmap\.org\//)) {
        this.src = OpenLayers.Util.OSM.MISSING_TILE_URL;
    } else if (this.src.match(/^http:\/\/[def]\.tah\.openstreetmap\.org\//)) {
        // do nothing - this layer is transparent
    } else {
        OpenLayers.Util.OSM.originalOnImageLoadError;
    }
};

/**
 * Class: OpenLayers.Layer.OSM.Kosmos
 *
 * Inherits from:
 *  - <OpenLayers.Layer.OSM>
 */
OpenLayers.Layer.OSM.Kosmos = OpenLayers.Class(OpenLayers.Layer.OSM, {
    /**
     * Constructor: OpenLayers.Layer.OSM.Kosmos
     *
     * Parameters:
     * name - {String}
     * options - {Object} Hashtable of extra options to tag onto the layer
     */
    initialize: function(name, options) {
        var url = [
            "http://osm.duschmarke.de/tiles/"
        ];
        options = OpenLayers.Util.extend({ numZoomLevels: 15 }, options);
        var newArguments = [name, url, options];
        OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
    },

    CLASS_NAME: "OpenLayers.Layer.OSM.Kosmos"
});

/**
 * Class: OpenLayers.Layer.OSM.Mapnik
 *
 * Inherits from:
 *  - <OpenLayers.Layer.OSM>
 */
OpenLayers.Layer.OSM.Mapnik = OpenLayers.Class(OpenLayers.Layer.OSM, {
    /**
     * Constructor: OpenLayers.Layer.OSM.Mapnik
     *
     * Parameters:
     * name - {String}
     * options - {Object} Hashtable of extra options to tag onto the layer
     */
    initialize: function(name, options) {
        var url = [
            "http://a.tile.openstreetmap.org/${z}/${x}/${y}.png",
            "http://b.tile.openstreetmap.org/${z}/${x}/${y}.png",
            "http://c.tile.openstreetmap.org/${z}/${x}/${y}.png"
        ];
        options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
        var newArguments = [name, url, options];
        OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
    },

    CLASS_NAME: "OpenLayers.Layer.OSM.Mapnik"
});

/**
 * Class: OpenLayers.Layer.OSM.Osmarender
 *
 * Inherits from:
 *  - <OpenLayers.Layer.OSM>
 */
OpenLayers.Layer.OSM.Osmarender = OpenLayers.Class(OpenLayers.Layer.OSM, {
    /**
     * Constructor: OpenLayers.Layer.OSM.Osmarender
     *
     * Parameters:
     * name - {String}
     * options - {Object} Hashtable of extra options to tag onto the layer
     */
    initialize: function(name, options) {
        var url = [
            "http://a.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
            "http://b.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png",
            "http://c.tah.openstreetmap.org/Tiles/tile/${z}/${x}/${y}.png"
        ];
        options = OpenLayers.Util.extend({ numZoomLevels: 18 }, options);
        var newArguments = [name, url, options];
        OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
    },

    CLASS_NAME: "OpenLayers.Layer.OSM.Osmarender"
});

/**
 * Class: OpenLayers.Layer.OSM.CycleMap
 *
 * Inherits from:
 *  - <OpenLayers.Layer.OSM>
 */
OpenLayers.Layer.OSM.CycleMap = OpenLayers.Class(OpenLayers.Layer.OSM, {
    /**
     * Constructor: OpenLayers.Layer.OSM.CycleMap
     *
     * Parameters:
     * name - {String}
     * options - {Object} Hashtable of extra options to tag onto the layer
     */
    initialize: function(name, options) {
        var url = [
            "http://a.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png",
            "http://b.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png",
            "http://c.andy.sandbox.cloudmade.com/tiles/cycle/${z}/${x}/${y}.png"
        ];
        options = OpenLayers.Util.extend({ numZoomLevels: 19 }, options);
        var newArguments = [name, url, options];
        OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
    },

    CLASS_NAME: "OpenLayers.Layer.OSM.CycleMap"
});

/**
 * Class: OpenLayers.Layer.OSM.Maplint
 *
 * Inherits from:
 *  - <OpenLayers.Layer.OSM>
 */
OpenLayers.Layer.OSM.Maplint = OpenLayers.Class(OpenLayers.Layer.OSM, {
    /**
     * Constructor: OpenLayers.Layer.OSM.Maplint
     *
     * Parameters:
     * name - {String}
     * options - {Object} Hashtable of extra options to tag onto the layer
     */
    initialize: function(name, options) {
        var url = [
            "http://d.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
            "http://e.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png",
            "http://f.tah.openstreetmap.org/Tiles/maplint/${z}/${x}/${y}.png"
        ];
        options = OpenLayers.Util.extend({ numZoomLevels: 18, isBaseLayer: false, visibility: false }, options);
        var newArguments = [name, url, options];
        OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
    },

    CLASS_NAME: "OpenLayers.Layer.OSM.Maplint"
});

Wie sieht es mit den Rechten aus die auf dem Tiles-Verzeichnis sitzen?

Oder versuchs mal mit
http://osm.duschmarke.de/tiles/${z}/${x}/${y}.png

Habe das abgeändert, leider ohne Erfolg. Die Rechte sehen auch gut aus. Lesen steht überall drin. Aber auch der direkte Aufruf z.B. http://osm.duschmarke.de/tiles/14/8670/5245.png führt ins Leere. Muß also irgednwie an meinem Webspace (1&1 )liegen.

Christian

Bei mir gehts jetzt…sowohl der direkte aufruf, als auch der Link weiter oben.

Bei mir gehts jetzt auch.

Hat die Änderung doch was gebracht und hattest nur noch die alten Scripte im Cache?

Hallo!

Also mit dem geänderten Script klappt es. Leider verstehe ich zuwenig davon, warum es so klappt und anders nicht. Vielleicht sollte man das auf der Wiki-Seite ändern?

Auf jeden Fall kam aber auch noch ein Web-Server-Problem hinzu. Zwischenzeitlich kam man gar nicht mehr auf die Seite, man hat gleich einen 404-Fehler bekommen.

Vielen Dank!

Christian

Also das ist auch irgendwie ein anderes Skript wie vor einigen Monaten.

Ja pass doch gleich mal das Wiki an.