谷歌地图JS API放大/缩小鼠标滚轮,无需平移地图

当你用鼠标滚轮放大/缩小时,它会以我不喜欢的有线方式播放地图,有没有可以禁用谷歌地图API来平移地图的选项?

我想要使​​用滚轮放大/缩小地图,就像我在地图界面(地图中心)按下放大和缩小按钮一样。

http://jsfiddle.net/4ozyvknr/

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: -34.397, lng: 150.644},
    zoom: 8
  });
}

我想在用鼠标滚轮缩放时防止平移地图。

以下是我如何做到这一点,请注意当您使用鼠标滚轮地图停留在同一坐标中时放大/缩小,无论光标位置如何。

工作小提琴

function initMap() {
    var map_div = document.getElementById('map');

    map = new google.maps.Map(map_div, {
        center: {lat: 34.049388, lng: -118.259901},
        zoom: 10,
        scrollwheel: 0
    });
    
    map_div.addEventListener('wheel', function(event) {

        if (event.deltaY && event.deltaY < 0) {
            //scroll up = zoom in;
            map.setZoom(map.getZoom() + 1);
        } else {
            //scroll down zoom out;
            map.setZoom(map.getZoom() - 1);
        }

        //disable scrolling of window
        event.preventDefault();

    });
    
}
<div id="map" style="width:100%; height:200px;"></div>
<div style="height:300px;"></div>
<h1>End of Page</h1>

<script src="https://maps.googleapis.com/maps/api/js?callback=initMap"
        async defer></script>

如果您想通过滑轮禁用缩放,只需添加滚轮scrollwheel: false

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    center: {lat: -34.397, lng: 150.644},
    zoom: 8,
    scrollwheel: false
  });
} 

编辑:如果你想改变它与滚轮放大的方式,然后看看这个线程

链接地址: http://www.djcxy.com/p/81525.html

上一篇: Google maps JS API zoom in/out mouse scroll wheel without panning map

下一篇: zoom on mouse wheel only if ALT key is pressed