You are not logged in.
- Topics: Active | Unanswered
Announcement
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***
Pages: 1
#1 2017-02-17 18:21:34
- aromatiker
- Member
- Registered: 2009-05-16
- Posts: 315
Leaflet: Kopieren Overlay
Hallo zusammen,
ich nutze Leaflet, um Karten mit Overlays darzustellen. Das geht nach Vorlage relativ einfach.
var meinOverlay = L.layerJSON({
...
})Wenn man jetzt allerdings mehrere fast gleiche Overlays (nur andere Quelle) benötigt, so artet das in ein massives cut&paste aus. Das ist fehlerträchtig und nicht besonders wartungsfreundlich.
Daher würde ich gerne - ausgehend von einer gut gefülltenOverlay-Vorlage - diese einfach kopieren und die notwendigen Eigenschaften (z.B. 'url') zuweisen.
Direkt kopieren geht mit js nicht.
Also habe ich in den Weiten des Internets und der papiernen Literatur gesucht und habe dort zwar Einiges gefunden:
var copy = Object.assign({}, meinOverlay);
var copy = completeAssign({}, meinOverlay);
var copy = $(meinOverlay).clone();
var copy = Object.create(meinOverlay);
// jetzt die geänderte Eigenschaft zuweisen
copy.url='neue_url';
meinOverlay.addTo(map);Leider hat bei mir keine dieser Techniken funktioniert.
Hat mir jemand einen guten und funktionierenden Tipp, wie man es machen kann ?
Offline
#2 2017-02-17 19:26:52
- dooley
- Member

- From: Landkreis Calw
- Registered: 2013-11-04
- Posts: 899
Re: Leaflet: Kopieren Overlay
Wenn du jQuery verwendest, kannst du mal
var kopierterLayer = $.extend(true, {}, originaLayer);probieren (erster Parameter von extend: wenn true, dann deep clone). Oder ohne den deep clone-Parameter.
Ausprobiert hab ich das nicht, ich erzeuge meine Layer meist per Definition und entsprechender function.
Edit: Kannst auch mal nach den Leaflet-eigenen "Utilities" schauen: http://leafletjs.com/reference-1.0.3.html#util Da gibt es L.util.extend(destination, source), damit sollte es eigentlich auch gehen...
Last edited by dooley (2017-02-17 19:32:23)
Zum Zustand des deutschen Forums vom geschätzten Netzwolf auch "Pamphlet" genannt
Mein Avatar ist ein Ausschnitt aus "Die Saporoger Kosaken schreiben dem türkischen Sultan einen Brief" (Ilja Repin, gemeinfrei)
Offline
Pages: 1