Marker animations with <code>setTimeout()</code>

HTML

<div id="floating-panel">
  <button id="button" onclick="set1()">Set 1</button>
  <button id="button" onclick="set2()">Set 2</button>
  <button id="button" onclick="clearMarkers()">Clear</button>



</div>
<div id="map"></div>
<!-- Replace the value of the key parameter with your own API key. -->
<script async defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB5DBzHn6lBmYubOpXdfLgQ4h9LcdlkNsk&callback=initMap">


</script>

CSS

/* Always set the map height explicitly to define the size of the div
 * element that contains the map. */

#map {
  height: 100%;
}


/* Optional: Makes the sample page fill the window. */

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

#floating-panel {
  position: absolute;
  top: 50px;
  left: 10px;
  margin-right: 10px;
  z-index: 5;
  background-color: #fff;
  padding: 5px;
  border: 1px solid #999;
  text-align: center;
  font-family: 'Roboto', 'sans-serif';
  line-height: 30px;
  padding-left: 10px;
}

#button,
#button2 {
  background-color: #2a5db0;
  color: white;
  border: none;
  padding: 5px;
}

#button2 {
  background-color: #f44336;
}

#eventName {
  font-weight: bold;
  color: #2a5db0;
}

#mapBox a,
#mapBox a:visited,
#mapBox a:hover {
  color: #c7db4a;
  text-decoration: none;
}

JavaScript

function initMap() {
  map = new google.maps.Map(document.getElementById('map'), {
    zoom: 6,
    center: {
      lat: 51.507,
      lng: 0.123,
    }
      })};
      
      
/////////////////
var markers = [];

var locs1 = [
['Name', 51.2, 0, 'Info'],
['Name', 52, 0.3, 'Info']
];

var locs2 = [
['Name', 53, -1.93, ' Info'], ['Name', 51, -1.8979, 'Info']
];

/////////////////////

function set1() {
//  clearMarkers(); //
  var marker, i;
  
  for (var i = 0; i < locs1.length; i++) {

    var event = locs1[i][0]
    var lat = locs1[i][1]
    var long = locs1[i][2]
    var desc = locs1[i][3]

    latlngset = new google.maps.LatLng(lat, long);

    var marker = new google.maps.Marker({
      position: latlngset,
      map: map,
      title: event
    });

    markers.push(marker);
    
   
    
    marker.addListener('click', function(e) {
      var index = markers.indexOf(this);
      var contentString = '<div id="mapBox">' + locs1[index][0] + locs1[index][3] + '</div>';
      infowindow.setContent(contentString);
      infowindow.open(map, markers[index]);
    });
    
   
    var infowindow = new google.maps.InfoWindow({

    });
    
    
}};

 function set2() {
//  clearMarkers(); //
  var marker, i;
  
  for (var i = 0; i < locs2.length; i++) {

    var event = locs2[i][0]
    var lat = locs2[i][1]
    var long = locs2[i][2]
    var desc = locs2[i][3]

    latlngset = new google.maps.LatLng(lat, long);

    var marker = new google.maps.Marker({
      position: latlngset,
      map: map,
      title: event
    });

    markers.push(marker);
    
   
    
    marker.addListener('click', function(e) {
      var index = markers.indexOf(this);
      var contentString = '<div id="mapBox">' + locs2[index][0] + locs2[index][3] + '</div>';
      infowindow.setContent(contentString);
      infowindow.open(map, markers[index]);
    });
    
   
    var infowindow = new google.maps.InfoWindow({

    });
    
    
    
    
}};


function clearMarkers() {
  for (var i =...