erst mal herrzlich willkommen im Forum - “hier werden Sie geholfen - ob Sie wollen oder nicht”
zur Frage:
Das ist “ganz einfach”: wenn du mehrere Overlays haben willst, musst du mehrere Overlays anlegen! That’s all.
Lege mit
var layer1= new OpenLayers.Layer.Vector("l1");
...
...
...
var layer2= new OpenLayers.Layer.Vector("ov1",null,{baselayer:false});
...
...
...
...
mehrere layer an. mit allem Drum und Dran. über die Option “baselayer:true” bzw “baselayer:false” kannst du steuern, ob das ein Base-Layer wird oder ein Overlay.
dann musst du noch ein weiteres layer einfügen. ich sehe nur drei - du brauchst vier.
layer_markers2= new OpenLayers.Layer.Markers(“Marker2”, { projection: new OpenLayers.Projection(“EPSG:4326”),baselayer: false);
map.add_layer(layer_markers2);
bau das und nur das ein und schau dir den layer-swicher an.
die ganze Chausse mit layers.push versteht ich eh nicht - hab sowas nie gebraucht. eventuell kommt da die ganze Verwirrung her. such dir mal eine einfachere Vorlage.
abgesehen davon, dass OpenLayers.Layer.Markers out ist - man sollte alles mit Openlayers.Layer.Vector machen - auch Marker ; aber das ist ein anderes Thema.
sorry, war ein Schnellschuss und der Kaffee hatte wohl noch nicht gewirkt - es ging aber um’s Prinzip.
Tested Code gibt es bei mir erst ab 11:30 - aber nur wenn es regnet.