Ist es im Leaflet möglich, dass ein Popup beim Mouse-Over und nicht beim Klicken geöffnet wird?
Dies funktioniert jeweils nur für einen Marker, aber ich benötige es für eine größere Anzahl von Markern:
marker.on('mouseover', function(e){
marker.openPopup();
});
Antworten:
Wenn Sie das Popup für einen Marker anzeigen müssen, können Sie die bindPopup-Methode für Marker verwenden.
Dann haben Sie mehr Kontrolle und es wird automatisch an Ihren Marker gebunden.
Im folgenden Beispiel können Sie das Popup-Fenster anzeigen, wenn der Benutzer mit der Maus darüber fährt, und ausblenden, wenn der Benutzer mit der Maus darüber fährt:
Hinweis: Möglicherweise treten Probleme beim Schließen der Popups auf, wenn Sie mit der Maus auf das Popup selbst fahren. Daher müssen Sie möglicherweise den Popup-Anker anpassen (siehe Popup-Einstellungen), damit Ihre Popups etwas weiter vom Marker selbst entfernt angezeigt werden zu leicht verschwinden.
quelle
quelle
Dies ist kein Flugblatt-spezifisches Problem, sondern eine Frage von Javascript.
Speichern Sie Ihre Markierungen in einer Sammlung und binden Sie
openPopup
sie dann'mouseover'
für alle an ein Ereignis.Zum Beispiel mit einem Array:
quelle
L.MarkerCluster
Instanz über Marker iteriert werden soll. Meine Antwort zeigt deutlich, wie Sie eine Sammlung von Popups beim Hover binden können. Wenn Sie wissen möchten, wie Sie eine Sammlung aus einem Cluster abrufen können, ist dies etwas anderes.Wenn Sie Leaflet 1.3.x verwenden, ist die Tooltip-Bindung eine integrierte Methode.
http://leafletjs.com/reference-1.3.0.html#tooltip
quelle
bindTooltip()
Funktioniert auch mit einzelnen Markern.In Bezug auf eine Lösung, die "für eine größere Anzahl von Markern" funktioniert, ist dies das, was ich für jede Ebene von Punktdaten mache, die von GeoJSON geladen werden:
quelle