Bonjour, pour un projet, je dois afficher une carte de France vierge, et en fonction de paramètres (x et y des points) de base de données (le tout coder en php), j'aimerais afficher sur cette carte des petits points noir cliquable.

Le problème est que la balise area de map permet seulement de faire des zones cliquables. Hors je ne veux pas dessiner mes points directement sur la carte, pour cause que je dois seulement afficher les villes d'après certains critères qui seront écrit dans une requête.

J'ai posé la question ici car je doute que le problème soit liée à PHP mais plutôt à xhtml.

1er essai :
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
 
$reqAfficherSI = "SELECT sigle_Site,longitude_Site,lattitude_Site FROM site"; 
 
$ResultatReqAfficherSI = $connexion->query($reqAfficherSI) or die("erreur");
 
while ($row=mysqli_fetch_row($ResultatReqAfficherSI)){
 
					$sigleSit = "" ;
 
					$x = "" ;
 
					$y = "" ;
 
					$sigleSit  = $row[0] ;
 
					$x = $row[1]."px" ;
 
					$y = $row[2]."px" ;
 
echo"<input title=\"$sigleSit\" type=\"image\" src=\"../images/def.png\" style=\"position: relative ; top:$y; left:$x;\"/>";
Là c'était un test sans balise map et area .. le problème est que les images se positionnent les unes après les autres donc ne correspondent pas du tout au x et y.

2eme essai :
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
echo"<img src=\"../images/ba_Fr2.gif\" usemap=\"#map\" />"; 
 
echo"<map name=\"map\">";
 
$reqAfficherSI = "SELECT sigle_Site,longitude_Site,lattitude_Site FROM site";
$ResultatReqAfficherSI = $connexion->query($reqAfficherSI) or die("erreur");
 
while ($row=mysqli_fetch_row($ResultatReqAfficherSI)){
 
					$sigleSit = "" ;
 
					$x = "" ;
 
					$y = "" ;
 
					$x1 = "" ;
 
					$y1 = "" ;
 
					$sigleSit  = $row[0] ;
 
					$x = $row[1] ;
 
					$y = $row[2] ;
 
					$x1 = $x."px";
 
					$y1 = $y."px";
 
echo"<area shape=\"circle\" title=\"$sigleSit - Dispo : Secu :\" coords=\"$x,$y,7\" href=\"#\" id=\"img\"/>";					
 
echo"<img src=\"../images/def.png\" style=\"position: relative; top:5px; left:5px;\" />";
 
				}
 
echo"</map>";
Là, le test de la zone cliquable est bonne, seulement l'image ne s'affiche pas, elle ne s'affiche QUE si je passe en position absolute, ce qui m'est impossible car mon site sera utiliser toujours avec des résolutions différentes .

Je reste débutant en xhtml, donc je vois pas trop d'idée simple.

Même s'il faut utiliser une librairie d'image pour dessiner un cercle, ça m'ira ..

Merci d'avance