【问题标题】:Marker clusterer bug when dragging the map? (Many markers on google maps)拖动地图时出现标记聚类错误? (谷歌地图上有很多标记)
【发布时间】:2017-04-28 12:51:13
【问题描述】:

我的网站上有许多标记解决方案。

我注意到,当我拖动地图时,如果我在将鼠标悬停在多标记图标上时开始拖动地图,则会出现接缝问题。

当我松开鼠标按钮时,地图会放大该位置。当我点击一个图标时,这个功能应该在那里......但是当我试图拖动地图时不应该在那里?

它甚至看起来像谷歌(自己的?)示例有这个问题,所以它可能不是我的代码。 http://gmaps-samples-v3.googlecode.com/svn/trunk/toomanymarkers/toomanymarkers.html

  • 打开链接
  • 选中“许多标记”框
  • 尝试在鼠标悬停在“许多标记”图标上时拖动地图。

当我尝试横向滚动地图时,地图放大令人沮丧。

【问题讨论】:

    标签: google-maps google-maps-markers


    【解决方案1】:
    google.maps.event.addListener(map,'dragstart',function(){
          mc.zoomOnClick_=false;});
    google.maps.event.addListener(map,'mouseup',function(){setTimeout(function(){
          mc.zoomOnClick_=true;},50);});
    

    这些行(mc 是 MarkerClusterer-Instance)应该会有所帮助。

    当您开始拖动地图时它会禁用 zoomOnClick 功能并在 mouseup 上重新启用它(延迟很短,因为mouseupclick 之前触发)

    【讨论】:

    • 比潜入图书馆要简单得多。
    • 甜蜜!没想到。那是20秒的修复。我刚刚在创建我的实例后添加了它。如果我有更多的声誉,我会支持所有答案:)
    【解决方案2】:

    我认为这是预期功能的副作用。该库将检测 mouseup 事件并放大我想象的 mousedown 选择的标记。

    我想您有两个选项是完全禁用单击缩放功能,或者自己更改库(如果您认为其他人会使用它,可能会分支它)以放大不同的事件,例如鼠标按下。

    【讨论】:

    • Tnx .. 如果有人改变了这个阅读这个,我会对代码感兴趣!我描述的问题在常规谷歌标记上运行良好。点击放大或拖动拖动。
    【解决方案3】:

    来自@Dr.Molle 的answer 将工作,只要源未被缩小(损坏的名称)。我必须升级到 MarkerClustererPlus,它提供了一种更改点击缩放的方法。 MarkerClustererPlus 主要向后兼容 MarkerClusterer。

    google.maps.event.addListener(map, 'dragstart', function() {
          mc.setZoomOnClick(false);
    });
    
    google.maps.event.addListener(map,'mouseup',function() {
        setTimeout(function() {
            mc.setZoomOnClick(true);
        }, 50);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-12-17
      • 2013-01-08
      • 2014-04-05
      • 1970-01-01
      • 2016-04-10
      • 2018-09-27
      • 1970-01-01
      相关资源
      最近更新 更多