28 июля 2015
14 комментариев
(Disable mouse scroll wheel zoom on embedded Google Maps)
При прокрутке страницы колесиком мышки, когда курсор попадает на карту, вместо прокрутки далее страницы вниз происходит увеличение карты (особенно если карта на всю ширину страницы).
Как убрать?
Перед iframe добавляем div:
<div class="overlay" onClick="style.pointerEvents='none'"></div> <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d1998.5192766409587!2d30.2653292!3d59.940118700000006!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x469631284de3a6fb%3A0x17f2808218507f5a!2zMTYt0Y8g0LvQuNC90LjRjywg0KHQsNC90LrRgi3Qn9C10YLQtdGA0LHRg9GA0LM!5e0!3m2!1sru!2sru!4v1438004309074" width="100%" height="550" frameborder="0" style="border:0" allowfullscreen></iframe>
Стиль:
.overlay { background:transparent; position:relative; width:100%; height:550px; top:550px; margin-top:-550px; }
И если пользователь все-таки решил работать с картой — при клике на блок, который появился поверх карты — убираем его:
$(document).ready(function(){ $('.overlay').click(function() { $(this).remove(); }); });
Правильнее всего конечно для этого случая рисовать карту через API с параметром scrollwheel:false
, но, бывает, нужно решение именно для фрейма.