Here is my code(most code from Google\'s API page).
Few things you should do / things that I have changed from your original code:
animation: google.maps.Animation.DROP,
to your markers, so that you can see when they are reloaded, and a reload markers button to call the reload function.Basically what you want to do is:
setMarkers
functionmarkers
arraysetMap(null)
on each marker to remove it from the mapsetMarkers
again to re-draw your markersUpdated code:
var map;
var markers = []; // Create a marker array to hold your markers
var beaches = [
['Bondi Beach', 10, 10, 4],
['Coogee Beach', 10, 11, 5],
['Cronulla Beach', 10, 12, 3],
['Manly Beach', 10, 13, 2],
['Maroubra Beach', 10, 14, 1]
];
function setMarkers(locations) {
for (var i = 0; i < locations.length; i++) {
var beach = locations[i];
var myLatLng = new google.maps.LatLng(beach[1], beach[2]);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
animation: google.maps.Animation.DROP,
title: beach[0],
zIndex: beach[3]
});
// Push marker to markers array
markers.push(marker);
}
}
function reloadMarkers() {
// Loop through markers and set map to null for each
for (var i=0; i
Working example:
JSFiddle demo