user3107343
user3107343

Reputation: 2299

how to hide google map markers by a button?

I have a Google map. I created some markers, but I can not hide these markers. I looked at this document. I have one function, but it failed.

function LoadMap () {
  var markers = JSON.parse('<%=Stations() %>');
  var mapOptions = {
    center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
    zoom: 5,
    mapTypeId: google.maps.MapTypeId.ROADMAP
  };
  var infoWindow = new google.maps.InfoWindow();
  map2 = new google.maps.Map(document.getElementById("map_canvas2"), mapOptions2);
  for (i = 0; i < markers.length; i++) {
    var data = markers[i]
    var myLatlng = new google.maps.LatLng(data.lat, data.lng);
    var marker = new google.maps.Marker({
      position: myLatlng,
      map: map2,
      title:"Hello",
    });
    (function (marker, data) {
      google.maps.event.addListener(marker, "click", function (e) {
        infoWindow.setContent(data.description);
        infoWindow.open(map, marker);
        icon: InitIcon
      });
    }(marker, data);
  }
}

Upvotes: 1

Views: 1220

Answers (1)

AlexB
AlexB

Reputation: 7416

You need to apply the setMap(null) to your Array of markers.

If your markers variable contains all your markers, you need to loop through each markers and delete each of them using

markers[i].setMap(null);

as shown on your sample

BTW, your code contains somme errors, like a missing ; after var data = markers[i]

Upvotes: 1

Related Questions