【问题标题】:Google Map mouse wheel bug谷歌地图鼠标滚轮错误
【发布时间】:2013-02-19 09:48:45
【问题描述】:

通常可以垂直滚动/缩放地图。会有一个灰色的背景。我“禁用/阻止”了它。

如果我使用 Google 地图中的控件,这可以正常工作。但是,如果我用鼠标滚轮缩放,它有点麻烦,我可以缩小地图,所以灰色区域是可见的。

这是一个活生生的例子:Example

如何在不禁用鼠标滚轮缩放的情况下解决这个问题?

图片:

THEME.gmap.position = function () {
var allowedBounds;
var lastCenter;
var lastZoom;
var initCenter;
var initZoom;

function checkBounds() {
    if (THEME.base.isUndefined(allowedBounds)) {
        return false;
    }
    if (allowedBounds.getNorthEast().lat() > THEME.gmap.google_map.getBounds().getNorthEast().lat()) {
        if (allowedBounds.getSouthWest().lat() < THEME.gmap.google_map.getBounds().getSouthWest().lat()) {
            lastCenter = THEME.gmap.google_map.getCenter();
            lastZoom = THEME.gmap.google_map.getZoom();
            return true;
        }
    }
    THEME.gmap.google_map.panTo(lastCenter);
    THEME.gmap.google_map.setZoom(lastZoom);
    return false;
}

return {
    createLatLng:function (lat, lng) {
        return new google.maps.LatLng(lat, lng);
    },
    centerMap:function (latLng) {
        THEME.gmap.google_map.setCenter(latLng);
    },
    setLimit:function () {
        allowedBounds = new google.maps.LatLngBounds(
            this.createLatLng(-85.0511, -122.591),
            this.createLatLng(85.0511, -122.333)
        );
        initCenter, lastCenter = THEME.gmap.google_map.getCenter();
        initZoom, lastZoom = THEME.gmap.google_map.getZoom();
        google.maps.event.addListener(THEME.gmap.google_map, 'bounds_changed', function () {
            checkBounds();
        });
        google.maps.event.addListener(THEME.gmap.google_map, 'center_changed', function () {
            checkBounds();
        });
    }
};
}();

【问题讨论】:

  • 哦,我太笨了!谢谢您的帮助!您能否将其发布为答案,以便我接受?

标签: javascript google-maps google-maps-api-3 zooming mousewheel


【解决方案1】:

我猜这是由 2 个竞争事件强制执行的,通常这两个事件每次都会触发。由于center_changed 事件是多余的(当中心改变时边界也会改变),你可以删除center_changed-listener(对我来说这也解决了这个问题)

【讨论】:

    猜你喜欢
    • 2023-04-09
    • 1970-01-01
    • 2021-07-15
    • 2016-05-09
    • 2023-03-15
    • 1970-01-01
    • 2012-10-27
    • 1970-01-01
    • 2018-02-13
    相关资源
    最近更新 更多