2011-05-09 6 views
0

J'ai testé quelques trucs avec Google Maps, et bien que ce code me donne une carte avec un marqueur, je ne reçois pas la superposition sur le clic. J'utilise en fait Rails, mais c'est le code que ma vue Rails produit - mais mes connaissances en javascript sont très minimes.Infowindow avec Google maps

<script type="text/javascript"> 
    function initialize() { 
    var latlng = new google.maps.LatLng(38.92226, -77.02515); 
    var myOptions = { 
     zoom: 15, 
     center: latlng, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 

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

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

    var marker = new google.maps.Marker({ 
       position: latlng, 
       map: map, 
       title:"1X438A40" 
    }); 
    } 

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

</script> 

Répondre

1

Votre fonction addListener est hors de la portée des fonctions initialize(). L'obtenir à l'intérieur des accolades devrait faire l'affaire.

<script type="text/javascript"> 
     function initialize() { 
     var latlng = new google.maps.LatLng(38.92226, -77.02515); 
     var myOptions = { 
      zoom: 15, 
      center: latlng, 
      mapTypeId: google.maps.MapTypeId.ROADMAP 
     }; 

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

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

     var marker = new google.maps.Marker({ 
        position: latlng, 
        map: map, 
        title:"1X438A40" 
     }); 

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

    </script> 
+0

Parfait, merci! – Slick23