Javascript 谷歌地图API v3:Markers don';不要总是不断地弹跳

Javascript 谷歌地图API v3:Markers don';不要总是不断地弹跳,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我对谷歌地图标记的反弹动画有一些问题。 基本上,我在地图右侧的一列中有一个主题列表。每个主题下面都列出了与其连接的标记的名称,并带有复选框以直观地显示/隐藏标记。我想让相应的标记在鼠标悬停在其链接的复选框上时连续反弹,并在用户停止鼠标悬停在复选框上时立即停止反弹。我目前有以下代码: HTML: <input type=\"checkbox\" onmouseenter=\"highlightPoint( " + (amountOfPoints - 1) + " )\" onmouselea

我对谷歌地图标记的反弹动画有一些问题。 基本上,我在地图右侧的一列中有一个主题列表。每个主题下面都列出了与其连接的标记的名称,并带有复选框以直观地显示/隐藏标记。我想让相应的标记在鼠标悬停在其链接的复选框上时连续反弹,并在用户停止鼠标悬停在复选框上时立即停止反弹。我目前有以下代码:

HTML:

<input type=\"checkbox\" onmouseenter=\"highlightPoint( " + (amountOfPoints - 1) + " )\" onmouseleave=\"removePointHighlighting( " + (amountOfPoints - 1) + " )\" /> "
function highlightPoint( pointIndex ) {
        window["point" + (pointIndex+1)].setAnimation(google.maps.Animation.BOUNCE);
    }

    function removePointHighlighting( pointIndex ) {
        console.log( "remove animation" );
        window["point" + (pointIndex+1)].setAnimation( null );
    }
除了一个小问题外,该代码几乎按预期工作。有时动画在悬停时连续播放,但有时在离开悬停状态并再次悬停后,反弹动画仅播放一次,然后停止。发生这种情况的时间或原因似乎是相当随机的。动画仅播放一次后,在刷新页面之前将不再继续播放。我猜这与动画背后的一些计时器有关?我发现以下代码仅用于播放一次反弹动画:

setTimeout(function(){ marker.setAnimation(null); }, 750);
是否有办法在mouseleave上“重置”这些计时器,或者是否有其他原因导致动画出错?对于我正在开发的应用程序来说,这是一个相对不重要的功能,但我仍然想知道这里的问题是什么


编辑:这似乎是特定于浏览器的问题。在Safari和Firefox中进行测试时,弹跳并没有任何问题。奇怪的是,指定的问题只出现在Chrome中。通常,一旦动画设置为null,然后再次设置,它将只播放一次。只有在第一次鼠标滑过时,弹跳才会持续播放。奇怪..

不要将动画设置为null,而是将其设置为-1。动画常量只是整数。在我的vuejs应用程序中,我花了大约一个小时来解决这个问题:我想
window[“point”+(pointIndex+1)]
是类型Marker的对象。也许您在活动交付方面有问题。如果您编写一个随机调用highlightPoint()和removePointHighlighting()的测试函数,看看它在没有事件处理的情况下是如何工作的。仅供参考:我重用了这个示例,并在映射处放置了15个标记。所有这些都是使用
单击
事件触发的。这是没有任何延误的工作。但所有事件都与标记相关联。我会尝试一下,它可能确实更有效。谢谢你的建议!你是最好的哥们儿,你为我节省了那么多时间,我不知道这是否奏效,但现在(或以后)肯定不行。此外,未提及将其设置为
-1
(仅
null
)。