Bonjour,

j'ai une page web qui est construite dynamiquement en PHP. J'insers dans cette page web une map google en utilisant le code javascript ci-dessous :

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
 
<script src="http://maps.google.com/maps?file=api&amp;v=2&amp;key=mykey&sensor=false" type="text/javascript"></script>
<script type="text/javascript">
 
var MaCarte;
var geocoder = null;
var LatitudeCarteClick;
var LongitudeCarteClick;
function load() {
  if (GBrowserIsCompatible()) {
    MaCarte = new GMap2(document.getElementById('map'));
    MaCarte.setCenter(new GLatLng(47, 3), 5);
    MaCarte.addControl(new GLargeMapControl());
    MaCarte.addControl(new GMapTypeControl());
    MaCarte.addControl(new GOverviewMapControl());
    MaCarte.addControl(new GScaleControl());
    geocoder = new GClientGeocoder();
  }else{
    alert("D&eacute;sol&eacute;, mais votre navigateur n\'est pas compatible avec Google Maps");
  }
}
function dec2dms(l) {
  d = Math.floor(l);
  p = (l - d) * 60;
  m = Math.floor(p);
  s = Math.round((p - m) * 60);
  return d+"° "+m+"'' "+s+"'";
}
 
function recentrerCarte(){
  window.setTimeout(function(){MaCarte.panTo(new GLatLng(LatitudeCarteClick, LongitudeCarteClick));}, 1000);
}
 
function AfficherAdresse(addresse) {
  if (geocoder) {
    geocoder.getLatLng(addresse,
		       function(point) {
			 if (!point) {
			   alert('Impossible de geolocaliser cette adresse' + addresse);
			   MaCarte.setCenter(new GLatLng(47, 3), 5);
			 } else {
			   MaCarte.clearOverlays();
			   var marker = new GMarker(point, {draggable: true});
			   GEvent.addListener(marker, 'dragstart', function() {
						MaCarte.closeInfoWindow();
					      });
 
			   GEvent.addListener(marker, 'dragend', function(point) {
						recentrerCarte();
					      });
			   MaCarte.addOverlay(marker);
			   MaCarte.setCenter(point, 15);
			 }
		       }
		       );
  }
}
 
function AddMarker(lat,lon) {
 
  var point = new GPoint(lat, lon);
  var newMarker = new GMarker(point);
  MaCarte.addOverlay(newMarker);
}
 
</script>
Je fais un include de ce code javascript dans le PHP pour construire la page.
Lorsqu'un utilisateur s'identifie sur mon site, je veux afficher des infos le concernant sur la carte construite au d�part.
J'ins�re donc l'appel � la fonction AddMarker (latitude, longitude); dans ma page construite :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
 
<?php
print('<script type="text/javascript">');
        print('AddMarker('.$lat.','.$long.');');
print('</script>');
?>
Lorsque j'execute le code dans mon navigateur, j'ai le message suivant dans la console d'erreur : "MaCarte is Undefined".

Comment puis-je acc�der � la variable MaCarte d�finie et initialis�e lors de la premi�re ex�cution du javascript ?

Je pr�cise que je d�bute totalement en javascript.

Merci pour votre aide.

Floopi51