it-swarm.com.de

Deaktivieren Sie die Strg + Bildlauf zum Zoomen von Google Maps

Weiß jemand, wie man das ausschaltet? CTRL + Scroll?

Wenn das Mausrad bewegt wurde, zoomte die Karte zuerst hinein/heraus. Aber jetzt bittet es zu drücken CTRL + Mausrad Zum Vergrößern/Verkleinern scrollen.

Wie deaktivieren wir diese Funktion? Ich kann anscheinend nichts in der Dokumentation finden:

https://developers.google.com/maps/documentation/javascript/controls#ControlOptions

enter image description here

78
Dawood Awan

Sie müssen gestureHandling: 'greedy' an Ihre Kartenoptionen übergeben.

Dokumentation: https://developers.google.com/maps/documentation/javascript/interaction#gestureHandling

Zum Beispiel:

const map = new google.maps.Map(mapElement, {
  center: { 0, 0 },
  zoom: 4,
  gestureHandling: 'greedy'
});
114
Kano

Wenn Sie das Zoomen zum Zoomen vollständig deaktivieren möchten, können Sie scrollwheel: false verwenden. Der Benutzer kann die Karte weiterhin vergrößern, indem Sie auf die Zoom-Schaltflächen klicken, wenn Sie ihm die Zoom-Steuerung (zoomControl: true) zur Verfügung stellen.

Dokumentation: https://developers.google.com/maps/documentation/javascript/reference (Durchsuchen Sie die Seite nach "Scrollwheel")

const map = new google.maps.Map(mapElement, {
  center: { 0, 0 },
  zoom: 4,
  scrollwheel: false,
  zoomControl: true
});
14
Brendan Benson

Ich konnte den gestureHandling: 'greedy'-Fix nicht für mich zum Laufen bringen, da ich die Karte überlagert hatte. Am Ende habe ich das mousewheel-Ereignis erkannt und die ctrl-Eigenschaft auf true gesetzt. 

// Load maps and attach event listener to scroll event.
var $map = $('.map');
$map[0].addEventListener('wheel', wheelEvent, true);         

function wheelEvent(event) {
    // Set the ctrlKey property to true to avoid having to press ctrl to zoom in/out.
    Object.defineProperty(event, 'ctrlKey', { value: true });
}
4
MisterMystery

Wenn Sie nur das Overlay ausblenden möchten, die Bildlauf- und Zoomfunktion jedoch weiterhin deaktivieren (wie zuvor), können Sie das Overlay mithilfe von CSS ausblenden:

.gm-style-pbc {
opacity: 0 !important;
}

Beachten Sie, dass dies auch für Handys ausgeblendet wird. Sie können so etwas verwenden, um sicherzustellen, dass "zwei Finger zum Bewegen der Karte" angezeigt werden:

@media only screen and ( min-width: 980px ) {
.gm-style-pbc {
opacity: 0 !important;
}
}
1
Chumtarou

Das Verschachteln von gestureHandling innerhalb einer options-Eigenschaft, die für mich in Version "3.35.6" ausgeführt wurde 

map = new google.maps.Map(document.getElementById('map'), {
        zoom: 12,
        options:{
            gestureHandling: 'greedy'
        }
    });
0
ealfonso