[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