Как отключить колес Mouse Zoom на Google StreetView?
-
25-09-2019 - |
Вопрос
Рассмотрим следующий пример код:http://code.google.com/apis/maps/documentation/javascript/examples/streetview-simple.html.
я могу сделать scrollwheel: false
На MapOptions для отключения колеса мыши Zoom. Функция не реализована на панорамах улицы.
В Chrome я могу безопасно отключить колес мыши на улице просто на уличном просмотре.
$('#pano *').bind('mousewheel', function(){
return false;
});
Однако это не работает в другом месте. Пожалуйста, помогите мне получить его работать в топ-3-5 браузерах?
Решение
Теперь есть подтвержденный запрос на функцию с проблемами GMAPS API http://code.google.com/p/gmaps-apiedues/issues/detail?id=2557.. Отказ Будем надеяться, что инженеры Google будут смотреть в него, когда они получают корыт более важных ошибок. Я ненавижу держать дыхание, но я сейчас приберемся.
Другие советы
Согласно Subgurim.net, вот как это сделать;
[powerscript - other event]
CONSTANT integer WM_MOUSEWHEEL = 522
IF message.number = WM_MOUSEWHEEL AND & KeyDown (KeyControl!) THEN
message.processed = TRUE
RETURN 1
END IF
Я понимаю, что вы используете JavaScript, и это пример VB, но, надеюсь, это поможет.
Я использую код ниже, чтобы избежать двойного щелчка Zoom - уверен, что он может быть адаптирован к увеличению колеса прокрутки. Zoom: 1 - это мой предпочтительный этап зум здесь, но может быть что угодно.
$("#panorama").dblclick( function(){
panorama.setPov( {
heading: panorama.getPov().heading,
pitch: panorama.getPov().pitch, zoom: 1
});
});
Существует простой обходной путь: путем добавления слоя перед StreetView с более высоким Z-индексом, вы предотвратите функцию масштабирования StreetView.
<div id="panorama" style="position: absolute;left:0; top: 0;height: 100%; width: 100%; z-index: -1;opacity: 1"></div>
<div id="layerBeforePanorama" style="position: absolute;left:0; top: 0;height: 100%; width: 100%; z-index: 0;opacity: 1"></div>
<script>
var panoOptions = {
position: latlng,
pov: {
heading: 0,
pitch: 0
}
};
var pano = new google.maps.StreetViewPanorama(document.getElementById('panorama'), panoOptions);
</script>