Bonjour,
J'ai un pb de passage et récupération de mon objet.
la variable "photos" est un tableau.
je ne connais pas le nombre d'élément du tableau tant que je n'ai pas récupéré les champs du fichier xml, ce qui est fait dans la fonction "recup_fichier_photo", (je déclare chaque élément du tableau comme un objet de type "Photo" dans la fonction).

Comment faire pour récupérer les objets créés dans la fonction ?

script éxécutable à l'adresse :
www.observatoiredeleau.fr/Essai/essai.htm
code ci-dessous.

Merci d'avance
Philou


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Fiche descriptive</title>
 
<script type="text/javascript">
 
//constructeur de la classe photos
function Photo(plat,plong) {
this.lat = plat;
this.long = plong;}
 
var photos = new Array ();
 
function recup_fichier_photo(fichier,photos) {
// Récupération des données stations (lattitude, longitude) à partir du fichier xml
	var request = GXmlHttp.create();
	request.open("GET",fichier, true);
	request.onreadystatechange = function() {
	// si les data ont été chargées, le readystate passe à 4
	if (request.readyState == 4) {
        var xmlDoc = request.responseXML;
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
 
	for (k = 0; k < markers.length; k++) {
	photos[k] = new Photo();
	photos[k].lat = parseFloat(markers[k].getAttribute("lat"));
	photos[k].long = parseFloat(markers[k].getAttribute("long"));
 	}}}
	request.send(null);
return photos;}
</script>
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAyR-IKou_PgJHyL0q9fVNLxTgVOmF-uHHogn7BifuCrL_l0gHXRSZYwWhLi6hIzHeHQshYghIzJI8nA"
      type="text/javascript">
</script>
</head>
 
<body bgcolor="#FFFFFF" onload="Javascript:recup_fichier_photo('essai.xml',photos);alert(photos[0].lat)">
</body>
</html>