Pracuję z biblioteką JavaScript Ulotki i dołączyłem (działającą) mapę do mojego dokumentu HTML. Znajduje się na środku strony, a kiedy przewijam kółkiem myszy w dół i docieram do mapy, automatycznie przybliża mapę.
Chcę przewijać stronę bez zatrzymywania się na mapie. Czy istnieje sposób, aby włączyć zoom koła dopiero po pierwszym kliknięciu mapy?
javascript
leaflet
zoom
mouse-wheel
Jandroide
źródło
źródło
Więcej komentarza / ulepszenia na temat przełączania akceptowanej odpowiedzi , co jest świetne (dzięki). Ale.
Podczas interakcji z mapą w wielu przypadkach użytkownik musi również kliknąć mapę, aby wykonać swoje zadanie, więc:
Może powodować nieoczekiwane zachowanie, gdy użytkownik zacznie faktycznie korzystać z mapy.
Sugerowałbym coś, co może wydawać się nieco bardziej intuicyjne dla użytkownika - kliknij mapę, aby wyłączyć przewijanie myszy .
Na przykład ustaw swój
scrollWheelZoom: false
jak powyżej, a następnie:źródło
focus
/blur
zdecydowanie sprawia, że funkcjonalność mapy jest znacznie bardziej intuicyjna.Ulotka Uśpienie ułatwi ci pracę i jest w pełni konfigurowalna
Zasadniczo wyłącza zdarzenia przewijania, gdy nie są potrzebne, i „budzi” mapę, gdy są one potrzebne.
Będę pisać kod, ale domyślnie wydaje się uzyskać to prawo, więc prawdopodobnie nie będzie musiał niczego poza
<script src="path/to/leaflet-sleep.js"></script>
i będziesz mieć taką mapę tego .źródło
Możesz to zrobić tylko tymi 3 liniami:
lub:
źródło