Adeel Aslam
Adeel Aslam

Reputation: 1294

Google maps v3 Infowindow is not working

I have following JS Code to make Google map markers and i also try to make infowindow on each marker but through my code infowindow is not opening here is my code

for(i=0; i<GPS.length; i++)
    {

          var image = 'ico/no.png';
          var infowindow = new google.maps.InfoWindow();
          var ContentString = GPS[i].TITLE
          markers[i] = new google.maps.Marker(
          { 
           position: GPS[i].GPS,
           map: map,
           draggable:true,
           icon:image,
           title:GPS[i].TITLE
           });                       

            google.maps.event.addListener(markers[i], 'click', function() {
            infowindow.setContent(ContentString);
            infowindow.open(map,markers[i]);
            });


    }    

Upvotes: 0

Views: 6773

Answers (2)

You have to make sure that map object is instantiated followed by contentString, then marker then infowindow object, lastly add a click listener. Code is executed in sequence so it has to make sense when you logically review. Hope it helps.

Upvotes: 0

defau1t
defau1t

Reputation: 10619

If I am not mistaken, looks like you have a closure issue here.

see the link to see how you resolve closure issue in google maps

This simple code from google will display a marker on a map:

var myLatlng = new google.maps.LatLng(-25.363882,131.044922);
var myOptions = {
  zoom: 4,
  center: myLatlng,
  mapTypeId: google.maps.MapTypeId.ROADMAP
}

var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

var contentString = '<div id="content">'+
    '<div id="siteNotice">'+
    '</div>'+
    '<h2 id="firstHeading" class="firstHeading">Uluru</h2>'+
    '<div id="bodyContent">'+
    '<p><b>Uluru</b>, also referred to as <b>Ayers Rock</b>, is a large ' +
    'sandstone rock formation in the southern part of the '+
    'Northern Territory, central Australia. It lies 335 km (208 mi) '+
    'south west of the nearest large town, Alice Springs; 450 km '+
    '(280 mi) by road. Kata Tjuta and Uluru are the two major '+
    'features of the Uluru - Kata Tjuta National Park. Uluru is '+
    'sacred to the Pitjantjatjara and Yankunytjatjara, the '+
    'Aboriginal people of the area. It has many springs, waterholes, '+
    'rock caves and ancient paintings. Uluru is listed as a World '+
    'Heritage Site.</p>'+
    '<p>Attribution: Uluru, <a href="http://en.wikipedia.org/w/index.php?title=Uluru&oldid=297882194">'+
    'http://en.wikipedia.org/w/index.php?title=Uluru</a> (last visited June 22, 2009).</p>'+
    '</div>'+
    '</div>';

var infowindow = new google.maps.InfoWindow({
    content: contentString
});

var marker = new google.maps.Marker({
    position: myLatlng,
    map: map,
    title:"Uluru (Ayers Rock)"
});

google.maps.event.addListener(marker, 'click', function() {
  infowindow.open(map,marker);
});

Upvotes: 1

Related Questions