Czy w Ulotce jest możliwe, że wyskakujące okienko otwiera się po najechaniu myszką, a nie kliknięciu?
Działa to tylko dla jednego markera na raz, ale potrzebuję go dla większej liczby markerów:
marker.on('mouseover', function(e){
marker.openPopup();
});
Odpowiedzi:
Jeśli chcesz wyświetlić wyskakujące okienko dla markera, możesz użyć metody markerów bindPopup.
Wtedy masz większą kontrolę, a to automatycznie zostanie przypisane do twojego znacznika.
W poniższym przykładzie możesz wyświetlić wyskakujące okienko, gdy użytkownik najedzie myszą, i ukryć je, gdy użytkownik najedzie myszą:
Uwaga: możesz napotkać problemy z zamykaniem wyskakujących okienek po najechaniu myszką na samo wyskakujące okienko, więc może być konieczne dostosowanie kotwicy wyskakujących okienek (patrz ustawienia wyskakujących okienek), aby wyświetlać wyskakujące okienka nieco dalej od samego znacznika, aby nie znikają zbyt łatwo.
źródło
źródło
To nie jest problem specyficzny dla Ulotki, ale kwestia Javascript.
Przechowuj swoje znaczniki w kolekcji, a następnie połącz
openPopup
je z'mouseover'
wydarzeniem dla wszystkich.Na przykład z tablicą:
źródło
L.MarkerCluster
instancji… Moja odpowiedź wyraźnie pokazuje, jak powiązać zbiór wyskakujących okienek po najechaniu myszą. Jeśli chcesz wiedzieć, jak uzyskać kolekcję z klastra, jest to coś innego.Jeśli używasz Ulotki 1.3.x, wiązanie etykiet jest wbudowaną metodą.
http://leafletjs.com/reference-1.3.0.html#tooltip
źródło
bindTooltip()
działa również na poszczególnych markerach.Jeśli chodzi o posiadanie rozwiązania, które działa „dla większej liczby znaczników”, robię to dla każdej warstwy danych punktowych ładowanych z GeoJSON:
źródło