J'utilise l'API Javascript de Google Maps, et je veux que lorsque vous cliquez sur un bouton sur une carte, une alerte JS apparaisse.La méthode addListener de l'API Google Maps ne fonctionne pas
Voici mon code JS jusqu'à présent:
var gmap = new google.maps.Map(document.getElementById("map-canvas"), mapOptions);
// Setting up and adding the boundary-changing buttons
var boundaryChangeArr = [
'<h3 id="boundary-change-title">Change boundaries</h3>',
'<div id="boundary-change-buttons-container">',
'<input id="boundaries-states" class="boundary-change-button" type="button" name="StatesBoundaries" value="States" />',
'<input id="boundaries-counties" class="boundary-change-button" type="button" name="CountiesBoundaries" value="Counties" />',
'<input id="boundaries-tracts" class="boundary-change-button" type="button" name="TractsBoundaries" value="Tracts" />',
'</div>'
];
// If there is no div with the id 'boundary-change-container', make one
var boundaryChange = $('div#boundary-change-container');
if(boundaryChange.length===0){
var boundaryChange = document.createElement('div');
boundaryChange.id = 'boundary-change-container';
boundaryChange.innerHTML = boundaryChangeArr.join('');
gmap.controls[google.maps.ControlPosition.LEFT_BOTTOM].push(boundaryChange);
}; // DONE: if(boundaryChange.length===0)
google.maps.event.addListener(document.getElementById('boundaries-states'),
'click',
function(){
alert('clicked');
});
Mais quand je clique sur le bouton boundaries-states
, rien ne se passe, et je ne même pas voir des erreurs dans Firebug, le plug-in Firefox qui peut vérifier JS erreurs.
Qu'est-ce que je fais mal?
À quoi ressemble votre HTML? Pouvez-vous créer un [jsfiddle] (http://jsfiddle.net/) qui présente le problème? – geocodezip
1. vous voulez utiliser addDomListener pour les objets DOM (vos boutons). 2. vous ne pouvez pas accéder aux boutons en utilisant getElementById jusqu'à ce qu'ils aient été ajoutés au DOM. [jsfiddle] (http://jsfiddle.net/LxM4e/2/) – geocodezip