2017-10-04 1 views
0

Ich versuche ein Layercontrol für bestimmte Marker hinzuzufügen. Der Stadtmarker funktioniert einwandfrei, wenn ich ihn der Karte hinzufüge. Das Steuerelement baseLayers funktioniert ordnungsgemäß, und das Steuerelement overlayMaps wird ebenfalls erstellt. Die Markierung wird jedoch nicht angezeigt, wenn auf das overlayMaps-Steuerelement geklickt wird. Ich bin mir sicher, dass ich einen einfachen Fehler gemacht habe, aber ich konnte es nicht erkennen.Leaflet Layer Control zeigt Layer nicht an

var city = L.marker([34.26112, -116.8456], { 
    icon: L.BeautifyIcon.icon(options) 
    }).bindPopup('<a href="' + "https://en.wikipedia.org/wiki/Big_Bear_Lake,_California" + '" target="_blank">' + "Big Bear Lake" + '</a>'); 

var citymarkers = L.layerGroup(city); 

var overlayMaps = { 
    "Cities": citymarkers 
    }; 

L.control.layers(baseLayers, overlayMaps).addTo(map); 
+0

Die Antwort ist unten, sondern von der Art und Weise, Sie brauchen nicht alle, die „+“ in der Pop-up, wenn Sie keine Variable hinzufügen – Baptiste

Antwort

2

L.layerGroup erwartet eine Array von Schichten als optionales Argument, nicht eine einfache Schicht/Marker.

L.layerGroup(<Layer[]> layers?) Erstellen Sie eine Ebenengruppe, optional mit einer ersten Gruppe von Ebenen.

var citymarkers = L.layerGroup([city]); // instead of (city) 

Live-Demo: https://jsfiddle.net/3v7hd2vx/413/

Verwandte Themen