[Talk-de] Dummy Beginner mit openlayers

Martin Koppenhoefer dieterdreist at gmail.com
Mo Sep 5 20:37:19 UTC 2011


Am 5. September 2011 21:37 schrieb Stephan Knauss <osm at stephans-server.de>:
> On 05.09.2011 19:01, Martin Koppenhoefer wrote:
>>>> Hast Du die Datei src="OpenStreetMap.js" lokal vorhanden? Das ist
>>>> AFAIR die js-Datei, die OpenLayers.Layer.OSM.Mapnik definiert.
> warum?
> Die Doku von Openlayers sagt, dass das dort bereits enthalten ist. Ganz ohne
> was Spezielles:
> OpenLayers.Layer.OSM
> This layer defaults to Spherical Mercator.
> Inherits from
>    OpenLayers.Layer.XYZ
> http://trac.osgeo.org/openlayers/browser/trunk/openlayers/lib/OpenLayers/Layer/XYZ.js
> Also einfach verwenden. Nix spezielles von OSM erforderlich.


ja, es ist nicht erforderlich, aber er hatte diese Fehlermeldung
gepostet: "Fehler: OpenLayers.Layer.OSM.Mapnik is not a constructor"
und hatte die js-Datei von OSM eingebunden: <script
src="OpenStreetMap.js"></script>
Das kann man auch machen (so macht es die Karte auf osm.org), dann
wird u.a. dieser Code mit eingebunden:

/**
 * 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,
            buffer: 0,
            transitionEffect: "resize"
        }, options);
        var newArguments = [name, url, options];
        OpenLayers.Layer.OSM.prototype.initialize.apply(this, newArguments);
    },

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

Gruß Martin




Mehr Informationen über die Mailingliste Talk-de