开发者

How to disable mouse wheel zoom on Google streetview?

开发者 https://www.devze.com 2023-01-17 22:46 出处:网络
Consider the following example code: http://code.google.com/apis/maps/documentation/javascript/examples/streetview-simple.html

Consider the following example code: http://code.google.com/apis/maps/documentation/javascript/examples/streetview-simple.html

I can do scrollwheel: false on a mapOptions to disable mouse wheel zoom. The feature is not implemented on the streetview panoramaOptions.

In Chrome, I can safely disable mouse wheel zoom on the streetview simply by.

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

However this does not work in elsewhere. Please help me get it working in top 3-5 browsers?


There is now a confirmed feature request with Gmaps API issues http://code.google.com/p/gmaps-api-issues/issues/detail?id=2557. Let's hope Google's engineers will look into it when they get trough more important bugs. I hate to hold my breath, but I'll park this for now.


According to Subgurim.net, this is how to do it;

  [powerscript -  other event]
CONSTANT integer WM_MOUSEWHEEL = 522
IF message.number = WM_MOUSEWHEEL AND & KeyDown (KeyControl!) THEN
   message.processed = TRUE
   RETURN 1
END IF

I realise that you are using Javascript, and this is a VB example, but hopefully it helps.


I use the below code to avoid double click zoom - pretty sure it could be adapted to scroll wheel zoom. zoom: 1 being my preferred zoom stage here, but could be anything.

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

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

});


There is an easy workaround: by adding a layer before the streetview with a higher z-index, you will prevent the zooming function of the 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>
0

精彩评论

暂无评论...
验证码 换一张
取 消