我的网站上有很多标记解决方案。
我注意到,当我拖动地图时,如果我将鼠标悬停在多标记图标上时开始拖动地图,则会出现接缝问题。
当我松开鼠标按钮时,地图会放大位置。当我点击一个图标时,假设有这个功能..但是当我试图拖动地图时不应该在那里?
它甚至看起来像谷歌(自己的?)示例有这个问题所以它可能不是我的代码。 http://gmaps-samples-v3.googlecode.com/svn/trunk/toomanymarkers/toomanymarkers.html
当我尝试向侧面滚动地图时地图放大时会感到沮丧。
答案 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);
});