Dies mag eine dumme Frage sein, aber ich konnte keinen dokumentierten Weg finden, um dies zu erreichen.
Ich möchte das Ebenensteuerungsmenü frei positionieren, wahrscheinlich oben links neben der Standardschaltfläche zum Vergrößern / Verkleinern.
Meine Ebenensteuerung sieht folgendermaßen aus:
// Group layers as overlay pane
overlayPane = {
"Endpoints" : endpointMarkerLayer,
"Links" : linkLineLayer
};
// Add a layer control element to the map
layerControl = L.control.layers(null, overlayPane);
layerControl.addTo(map);
Wo endpointMarkerLayer
und linkLineLayer
sind Schichten, die Marker bzw. Polylinien enthalten.
Gibt es eine Option, um anzugeben, wo das Menü angezeigt werden soll? Oder wie kann ich alternativ einen Verweis auf das DOM-Objekt des Steuermenüs erhalten, sodass ich ihm eine benutzerdefinierte Klasse zuweisen und die Positionierung in CSS überschreiben kann?
Kelsos Antwort ist richtig. Die Dokumentation (und API) ist jedoch etwas verwirrend. Um beispielsweise ein benutzerdefiniertes Infobox basierend auf diesem Beispiel zu erstellen: http://leafletjs.com/examples/choropleth.html können Sie Folgendes tun:
Die Optionen werden für das Steuerobjekt festgelegt. Man könnte also denken, dass Sie dies tun können, um ein Overlay-Steuerelement zu positionieren:
Der richtige Weg, dies zu tun, wie oben angegeben, ist:
quelle