Mehere Marker Layer, Punkte aus verschiedenen Quellen?

Hallo zusammen,

ich habe mich mal wieder eines Beispiels des Netzwolfs bedient, nämlich zum Platzieren von Markern auf einer Karte.



var markerLayer1,markerLayer2; 

...



map.addLayer (markerLayer1 = new OpenLayers.Layer.PopupMarker('Layer 1', {

		location: 'datei_eins.php',		
    
		createIconFromData: function (data) {
    
			switch (data.marker) {
     
			default:
				return new OpenLayers.Icon ('bild.png', {w:40,h:18}, {x:0,y:0});
			case '1':
				return new OpenLayers.Icon ('nocheinbild.png', {w:50,h:23}, {x:20,y:-10});

....

Kann ich nun ein zweites Layer generieren, das auf der gleichen Karte zusätzliche Marker aus einer anderen Datei einbindet?

z.B.




map.addLayer (markerLayer2 = new OpenLayers.Layer.PopupMarker('Layer 1', {

		location: 'datei_eins.php',		
    
		createIconFromData: function (data) {
    
			switch (data.marker) {
     
			default:
				return new OpenLayers.Icon ('bild.png', {w:40,h:18}, {x:0,y:0});
			case '1':
				return new OpenLayers.Icon ('nocheinbild.png', {w:50,h:23}, {x:20,y:-10});

....






map.addLayer (markerLayer1 = new OpenLayers.Layer.PopupMarker('Layer 2', {

		location: 'datei_zwei.php',		
    
		createIconFromData: function (data) {
    
			switch (data.marker) {
     
			default:
				return new OpenLayers.Icon ('anderes_bild.png', {w:40,h:18}, {x:0,y:0});
			case '1':
				return new OpenLayers.Icon ('noch_ein_anderes_bild.png', {w:50,h:23}, {x:20,y:-10});

....

So habe ich es probiert, die Icons aus Layer 1 erscheinen auch, die aus Layers zwei nicht, Fehlermeldungen erhalte ich aber auch keine.

Ich habe auch probehalber “data” im zweiten Layer umbenannt, jedoch mit selbigen Ergebnis.

Wo könnte der Hund begraben liegen?

Danke und viele Grüße
Ghostrider

Du weist der Variable “markerLayer” zweimal einen Wert zu mit

map.addLayer (markerLayer = new OpenLayers.Layer.PopupMarker...

Entweder nimmst du da “markerLayer1” und “markerLayer2” oder du verzichtest ganz darauf und schreibst nur

map.addLayer (new OpenLayers.Layer.PopupMarker...

, falls du nicht woanders noch auf den Layer zugreifen musst.

Grüße, Max

Pardon, Fehler dank Copy und Paste.

Im Code habe ich den Layern bereits unterschiedliche Variablen verpasst, habs oben mal editiert.

Die Variablen habe ich auch global deklariert.

Ah…

Und was passiert, wenn du nur den zweiten Layer einbindest?