我使用此代码设法使标记闪烁

interval = setInterval(function() { toggleMarker() }, 500);

function toggleMarker() {
  if (marker.getVisible()) {
    marker.setVisible(false);
  } else {
    marker.setVisible(true);
  }
}


从这里How to make marker image in google maps to blink

现在我需要取消标记的闪烁,尝试此操作以及其他组合均无法正常工作

   function unblinkMarker(marker){
   if (marker.getVisible()) {
    marker.setVisible(true);
    }
  }


任何帮助表示赞赏

最佳答案

您需要通过clearInterval()调用停止间隔计时器:

function unblinkMarker( marker ) {
    clearInterval( interval );
    interval = null;
    marker.setVisible( true );
}


另外,您可以简化以下代码行:

interval = setInterval(function() { toggleMarker() }, 500);


至:

interval = setInterval( toggleMarker, 500 );


并且最好在设置间隔计时器之前将其清除,以防万一您之前已经设置了它:

clearInterval( interval );
interval = setInterval( toggleMarker, 500 );


假设您在所有这些函数的全局位置都有var interval;

关于javascript - 重置Google map 中的闪烁标记,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18648233/

10-12 12:24
查看更多