Как отключить масштабирование колеса мыши в Google Street View?

Рассмотрим следующий пример кода: http://code.google.com/apis/maps/documentation/javascript/examples/streetview-simple.html

Я могу сделать scrollwheel: false на карте, чтобы отключить масштабирование колесиком мыши. Эта функция не реализована в настройках панорамы просмотра улиц.

В Chrome я могу безопасно отключить масштабирование колесиком мыши в режиме просмотра улиц.

$('#pano *').bind('mousewheel', function(){
    return false;
});

Однако это не работает в другом месте. Пожалуйста, помогите мне заставить его работать в 3-5 лучших браузерах?


person fmalina    schedule 27.09.2010    source источник
comment
Теперь эта проблема исправлена, просто используйте колесо прокрутки: false в параметрах StreetViewPanorama.   -  person fmalina    schedule 20.04.2011
comment
Да, это правда, что вы можете установить для колеса прокрутки значение false, чтобы решить эту проблему, однако, когда мышь находится над видом улиц, вы больше не можете прокручивать двумя пальцами на коврике для мыши mac osx. Это заставляет меня поверить, что вы также не сможете прокручивать на мобильных устройствах, если начнете перетаскивать из элемента карты просмотра улиц.   -  person Solomon Closson    schedule 02.09.2017


Ответы (4)


Теперь есть подтвержденный запрос функции с проблемами API Gmaps http://code.google.com/p/gmaps-api-issues/issues/detail?id=2557. Будем надеяться, что инженеры Google займутся этим, когда исправят более важные ошибки. Ненавижу задерживать дыхание, но пока припаркую это.

person fmalina    schedule 07.10.2010
comment
Теперь эта проблема исправлена. - person fmalina; 20.04.2011

Согласно 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, но, надеюсь, это поможет.

person Johnny DropTables    schedule 05.10.2010

Я использую приведенный ниже код, чтобы избежать увеличения с помощью двойного щелчка - почти уверен, что его можно адаптировать для увеличения с помощью колеса прокрутки. zoom: 1 — мой предпочтительный этап масштабирования, но может быть что угодно.

$("#panorama").dblclick( function(){

   panorama.setPov(  {
      heading: panorama.getPov().heading,
      pitch: panorama.getPov().pitch, zoom: 1 
   });

});
person kontur    schedule 05.01.2011
comment
Спасибо за это, посмотрите мой ответ на code.google. com/p/gmaps-api-issues/issues/detail?id=2557 - person fmalina; 05.01.2011

Существует простой обходной путь: добавив перед просмотром улиц слой с более высоким z-индексом, вы предотвратите функцию масштабирования просмотра улиц.

<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>
person Wim den Herder    schedule 01.04.2018