bonjour à tous
je n'y comprend strictement rien en javascript, est-ce que quelqu'un peut m'aider à solutionner ce probleme:
ces 2 codes fonctionnent correctement, avec la meme requete sql .
c'est le code 1 que je souhaite conserver, avec infobulle multi-onglets.
le code 2 affiche correctement les infos relatives à un bien dans l'infobulle et associe bien le numero de marqueur avec celui de la bdd.
le code 1 lui affiche la liste complete des biens dans l'infobulle, le numero du bien de la base de données n'est pas associé au marqueur...
j'espere que je suis assez clair, d'avance merci...
code 1
code 2
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108 <script type="text/javascript"> var init = function () { google.load("maps", "2"); google.setOnLoadCallback(initMap); }; // init var offres = [ <?php AfficheMarqueurs( )?> ]; var createMarker = function(infosOffres) { var point = new GPoint(infosOffres.lng, infosOffres.lat); var myIcon = new GIcon(); if (infosOffres.ligne === '1') myIcon.image = "images/blue-dot.png"; else if (infosOffres.ligne === '3') myIcon.image = "images/jaune-dot.png"; else if (infosOffres.ligne === '5') myIcon.image = "images/vert-dot.png"; else if (infosOffres.ligne === '7') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '9') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '13') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '16') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '19') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '22') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '25') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '28') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '31') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '34') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '37') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '39') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '40') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '41') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '45') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '47') myIcon.image = "images/rouge-dot.png"; else if (infosOffres.ligne === '48') myIcon.image = "images/rouge-dot.png"; myIcon.iconSize = new GSize(20, 34); myIcon.iconAnchor = new GPoint(10, 34); myIcon.infoWindowAnchor = new GPoint(10, 1); var markerOptions = { icon: myIcon }; var marker = new GMarker(point, markerOptions); var locations = [<?php AfficheMarqueurs( ) ?>]; var infowindow = function() { var tabs = [ new GInfoWindowTab('Infos', '' + locations + '<br /><a href=""></a>' ), new GInfoWindowTab('Vue', 'photo...' ) ]; var options = { maxTitle: 'Detail affaire', maxContent: '<p><br />' + 'test' + '</p>' }; marker.openInfoWindowTabsHtml(tabs, options); }; GEvent.addListener(marker, "click", infowindow); return marker; }; // createMarker var initMap = function () { var map = new google.maps.Map2(document.getElementById('map')); map.addControl(new GLargeMapControl()); var adresse = '<?php echo ''.$ligne->adresse.' '.$ligne->codepostal.' '.$ligne->ville.''; ?>'; var geocoder = new google.maps.ClientGeocoder(); geocoder.getLatLng(adresse, function (coord) { map.setCenter(coord, 13); // Centrage sur le point dont on a obtenu les coordonnées depuis l'adresse }); for (var i=0 ; i<offres.length ; i++) { map.addOverlay(createMarker(offres[i])); } }; // initMap </script>
et le php:
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 <script type="text/javascript"> <!-- var offres = [ <?php AfficheMarqueurs( )?> ]; var map = new google.maps.Map(document.getElementById('map'), { zoom: 6, center: new google.maps.LatLng(47.4,1.6), mapTypeControl: true, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.DROPDOWN_MENU }, navigationControl: true, navigationControlOptions: { style: google.maps.NavigationControlStyle.SMALL, position: google.maps.ControlPosition.TOP_RIGHT }, scaleControl: true, streetViewControl: false, mapTypeId: google.maps.MapTypeId.ROADMAP }); var infowindow = new google.maps.InfoWindow(); var marker, i; for (i = 0; i < offres.length; i++) { marker = new google.maps.Marker({ position: new google.maps.LatLng(offres[i][1], offres[i][2]), map: map }); google.maps.event.addListener(marker,'click', (function(marker,i) { return function() { infowindow.setContent(offres[i][0]); infowindow.open(map, marker); } })(marker, i)); } --> </script>
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 function AfficheMarqueurs( ) { global $sql, $users; $typeann = $_POST["typeann"]; $annonceID = $_REQUEST['annonceID']; if(!$result = @mysql_query($sql)) { $err_string = "<strong>Erreur:</strong>durant la connexion à la base de données<br>" . mysql_error(); AfficheErreur($err_string, $sql); exit; } $i=0; while ($ligne=mysql_fetch_object($result)) { if ($ligne->Ident!=null) { echo '[\''; echo'<strong>'.$ligne->enseigne.'</strong><br />'.$ligne->re_habitation.' '.$ligne->LibVoie.' '.$ligne->adresse_bien.'<br />'.$ligne->VilleBien.'<br /><a class="mandatInfo" href="mod_ficheannonce2.php?num='.$ligne->Ident.'">'.$ligne->loyer_gerance.'</a>\','.$ligne->lat.', '.$ligne->lng.'],'; $i++; } } return $i; }
Partager