拖动地图时标记聚类错误? (谷歌地图上的许多标记)

时间:2013-12-19 14:35:54

标签: google-maps google-maps-markers

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

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

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

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

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

当我尝试向侧面滚动地图时地图放大时会感到沮丧。

3 个答案:

答案 0 :(得分:7)

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)应该有所帮助。

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

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

来自@ 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);
});