Как отключить масштабирование колесика мыши в Google StreetView? - PullRequest
2 голосов
/ 27 сентября 2010

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

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

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

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

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

Ответы [ 4 ]

1 голос
/ 08 октября 2010

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

0 голосов
/ 01 апреля 2018

Существует простой обходной путь: добавив слой перед видом на улицу с более высоким 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>
0 голосов
/ 05 января 2011

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

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

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

});
0 голосов
/ 05 октября 2010

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

...