Como desativar o zoom da roda do mouse no Google Streetview?
-
25-09-2019 - |
Pergunta
Considere o seguinte código de exemplo:http://code.google.com/apis/maps/documentation/javascript/examples/streetview-simple.html
eu posso fazer scrollwheel: false
em um mapoptions para desativar o zoom da roda do mouse. O recurso não é implementado nas panoramaoptions da Streetview.
No Chrome, posso desativar com segurança o zoom da roda do mouse na visão de rua simplesmente.
$('#pano *').bind('mousewheel', function(){
return false;
});
No entanto, isso não funciona em outros lugares. Por favor, me ajude a trabalhar nos 3-5 navegadores melhores?
Solução
Agora existe uma solicitação de recurso confirmada com problemas da API GMAPS http://code.google.com/p/gmaps-api-issues/issues/detail?id=2557. Vamos torcer para que os engenheiros do Google o analisem quando tiverem os bugs mais importantes. Eu odeio prender a respiração, mas vou estacionar isso por enquanto.
Outras dicas
De acordo com o Subgurim.net, é assim que fazê -lo;
[powerscript - other event]
CONSTANT integer WM_MOUSEWHEEL = 522
IF message.number = WM_MOUSEWHEEL AND & KeyDown (KeyControl!) THEN
message.processed = TRUE
RETURN 1
END IF
Sei que você está usando o JavaScript, e este é um exemplo VB, mas espero que ajude.
Eu uso o código abaixo para evitar o zoom de clique duas vezes - com certeza de que ele pode ser adaptado para rolar o zoom da roda. Zoom: 1 sendo meu estágio de zoom preferido aqui, mas pode ser qualquer coisa.
$("#panorama").dblclick( function(){
panorama.setPov( {
heading: panorama.getPov().heading,
pitch: panorama.getPov().pitch, zoom: 1
});
});
Existe uma solução alternativa fácil: adicionando uma camada antes da visão de rua com um Index Z mais alto, você impedirá a função de zoom da rua.
<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>