11499 sujets

JavaScript, DOM et API Web HTML5

Bonjour, j'ai besoin d'afficher des liens de type <a href> pour afficher les infowidows à cote de ma googlemap; je crée ma googlemap, mes markers, mes liens et la fonction qui je croyais allait ouvrir mes infowindows...
Malheureusement, les liens et googlemap s'affichent mais les liens ne renvoient rien... "marker1 is not defined" dixit console... Comment regler le soucis?


<script type="text/javascript">
  var infowindow;
  var map;

  function initialize() {
    var myLatlng = new google.maps.LatLng(37.4419, -122.1419);
    var myOptions = {
      zoom: 10,
      center: myLatlng,
      mapTypeId: google.maps.MapTypeId.ROADMAP
	
    }

	
    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
		
	
	//download and creates markers
    downloadUrl("moredata.xml", function(data) {
      var markers = data.documentElement.getElementsByTagName("marker");
	  
      for (var i = 0; i < markers.length; i++) {

        var latlng = new google.maps.LatLng(parseFloat(markers[i].getAttribute("lat")),
                                    parseFloat(markers[i].getAttribute("lng")));
		
		html = 
		'<div>blabla</div>';
		
		if(markers[i].getAttribute("category")=="home"){ var image="../source/google-maps-icons/qualivox.png" };
		
        
		var marker = createMarker(markers[i].getAttribute("name"), latlng, html, image, i);
//alert(markers[i].getAttribute("name"));
		
       }
     });
	
  }

	function showinfo(marker) {
		//alert('hello');
      	infowindow.open(map, marker);
	}

	
  function createMarker(name, latlng, html, image, i) {
	  
	  
    //creates a marker
	var marker = new google.maps.Marker({
		position: latlng,
		map: map,
	    icon: image
		});
	
	var myhtml = '<b>&bull; <a href="javascript:showinfo(marker'+i+');" class="regtext">'+name+'<\/a></b><br>';
	document.getElementById("side_bar").innerHTML += myhtml;
	
	//creates click
    google.maps.event.addListener(marker, "click", function() {
      if (infowindow) infowindow.close();
      infowindow = new google.maps.InfoWindow({content: html});
      infowindow.open(map, marker);
	
    });


    return marker;
	
  }


</script>
[/i][/i][/i][/i][/i]