Obecnie bardzo popularne stały się Mapy bezpośrednio pochodzące z Google (Google Maps) na całą szerokość strony (bez użycia API).
Z pewnością jest to bardzo ciekawy efekt. Jednak nie każdy zdaje sobie mapy udostępnione bezpośrednio z http://google.pl/maps/ w postaci iframe mają pewną wadę podczas przewijania scrollem myszy zaczynają przybliżać lub oddalać widok zamiast przesuwać nas dalej po stronie. Przybliżenie to jest domyślne.
Mimo to istnieją strony, posiadające mapy z Google na prawie całą szerokość i wysokość okna przeglądarki a jakoś nikt w nich nie utyka powiększając i zmniejszając. W tym poście postaram się pokazać jak zablokować funkcję scroll’a tak by scrollowanie nie było możliwe.
na podstawie http://web4you.com.pl/
Do tego celu użyjemy poniższego kodu. Po wprowadzeniu kodu powinniśmy mieć mapę na stronie mapę Polski o wymiarach 600px/400px
Google Maps JavaScript API v3 - Twoja pierwsza mapa
Lokalizacje na mapie określają:
var lat=52.173931692568; var lng=18.8525390625;
Z kolei oddalenie to
var zoom=6;
A teraz wprowadzimy własne ustawienia zaczniemy od wejścia na stronę google maps i wyszukanie interesującej nas lokalizacji. Następnie pobieramy jej adres np:
https://www.google.pl/maps/place/Pozna%C5%84+City+Center/@52.4017401,16.9114558,16.75z/data=!4m12!1m9!4m8!1m0!1m6!1m2!1s0x47045b322b18c34f:0x145700ff326653af!2sPozna%C5%84+City+Center,+Matyi+2,+61-586+Pozna%C5%84!2m2!1d16.9142474!2d52.4019381!3m1!1s0x47045b322b18c34f:0x145700ff326653af
W powyższym liku szukamy parametru „/@” i zakończonego „/”. W tym przypadku to /@52.4017401,16.9114558,16.75z/.
lat=52.4017401
lng=16.9114558
zoom=16
Po zapisaniu na mapie powinien się pojawić wybrany obszar w moim przykładzie będzie to dworzec główny PKP w Poznaniu.
W celu zablokowania wystarczy dodać:
scrollwheel:false,
kod wstawiamy pomiędzy:
var myOptions = {
} Czyli dodajemy jako kolejną opcje.
Metoda ta przydaje się jeśli użyjemy mapy bezpośrednio ze strony Google w formie iframe. Zacznijmy więc od podstaw:
Przykładowa mapa
Istnieje kilka metod blokowania map tego typu jedną z nich jest wyłączenie obsługi scroll
W celu uzyskania tego efektu w HTML wstawiamy kod mapy pomiędzy
Następnie w CSS
.maps iframe{
pointer-events: none;
}
Teraz po najechaniu myszką ma mapę nie będzie się ona scrolować a tym samym będziemy mogli normalnie poruszać się po stronie.
W tym przypadku oczywiście możemy również skorzystać JavaScript / jQuery.
Przykładowe użycie:
$('.maps').click(function () {
$('.maps iframe').css("pointer-events", "auto");
});
$( ".maps" ).mouseleave(function() {
$('.maps iframe').css("pointer-events", "none");
});
Innym sposobem jest nałożenie na mapę DIV posiadającego takie same wymiary co mapa.
HTML
CSS
.overlay {
background:transparent;
position:relative;
width:640px;
height:480px; /* your iframe height */ top:480px; /* your iframe height */ margin-top:-480px; /* your iframe height */}
Ostateczny wybór metody zablokowania mapy zależy od nas jak widać mamy kilka opcji.
źródła:
http://stackoverflow.com/questions/21992498/disable-mouse-scroll-wheel-zoom-on-embedded-google-maps
dodatkowe tagi:
jak wyłączyć scroll w Google Maps
Wyłączanie scroll zooma w google map
mapa bez zbliżenia i oddalania
Mapy z Google
Jak wyłączyć scrollowanie na mapach
Wyłączenie przybliżenia scroll’em- gMap
Jak w przypadku wielu różnych tematów tak i w przypadku marki osobistej pojawiło się przez…
Choć zabrzmi to może nieco dziwnie to wprowadzenie AI (sztucznej inteligencji) do naszego życia było…
Widmo Brockenu to dość rzadko spotykane zjawisko optyczne, najczęściej widywane w wysokich partiach gór. Można…
Zacznę może od tego, że relikwia, relikwii nie równa. Wiem jeśli nie ma się pojęcia…
Logo stanowi jeden z ważniejszych elementów tożsamości wizualnej praktycznie każdej firmy, marki czy projektu. Logo…
Budując własną markę osobistą lub chcąc ją zbudować trzeba liczyć się z wieloma wyzwaniami. Jednym…