【问题标题】:How to disable mouse scroll over markers in Bing Maps v7如何在 Bing Maps v7 中禁用鼠标滚动标记
【发布时间】:2013-12-10 15:38:40
【问题描述】:

标题解释得很好。

我正在使用“Bing 地图 AJAX 控件,版本 7.0”。我成功地禁用了鼠标滚轮放大和缩小地图。但是,如果我将鼠标悬停在地图上的标记(图钉)上,它仍然会放大和缩小。

下面是我用来禁用鼠标滚轮的代码:

Microsoft.Maps.Events.addHandler(map, 'mousewheel', function(e) {
  if(e.targetType == 'map') {
    e.handled = true;
  }
});

【问题讨论】:

    标签: javascript ajax bing-maps


    【解决方案1】:

    以下代码对我来说很好用:

    Microsoft.Maps.Events.addHandler(map, 'mousewheel', function(e) {
        e.handled = true;
        return true;
    });
    

    【讨论】:

    • Bing Maps 相当于在 Google Maps API v3 中设置 scrollwheel:false。
    【解决方案2】:

    对于可能遇到此问题并想知道如何在 Bing Maps AJAX API v7 中完全禁用缩放(即通过滚轮或其他方式)的其他人,方法如下:

    var options = {
       credentials: 'put-your-credentials-here',
       **disableZooming: true**
    

    }

    map = new Microsoft.Maps.Map(document.getElementById('myMap'), options);

    Bing Maps API 提供其他 MapOptions,as documented here

    关于@Mike Henken 的问题:

    但是,如果我将鼠标悬停在地图上的标记(图钉)上,它仍然会放大和缩小。

    这似乎是 Bing Maps v7 API 中的一个错误,已于 2013 年 8 月 5 日修复。我无法再重现该问题。

    【讨论】:

    • 你有这个错误修复的参考吗?
    • 不,我没有错误修复的参考。也许我应该简单地说我无法重现@Mike Heneken 的问题。
    • @VinceHorst 如果我不想完全禁用缩放但只在他们在信息框内滚动时禁用它怎么办?目前,当我在可滚动信息框中使用鼠标滚轮时,地图会缩放,我不希望在此期间地图缩放。
    • @Fogolicious,也许您可​​以使用必应地图Microsoft.Maps.Events.addHandler() 方法在用户将鼠标移出图钉时禁用鼠标滚轮。例如:Microsoft.Maps.Events.addHandler(pushpin, 'mouseover', someMethodName);和 Microsoft.Maps.Events.addHandler(pushpin, 'mouseout', someOtherMethodName); (PS:我积极使用上面的代码来处理图钉事件,所以我知道这个概念是有效的。)
    • @VinceHorst 我只是使用了一些 jQuery 来定位信息框中的文本并添加了.hover(function(){map.setOptions({disableZooming:true});}, function(){map.setOptions({disableZooming:false});});
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多