Bonsoir à tous,
Je viens de me lancer à la découverte de l'api IGN et je rencontre actuellement un problème, je m'explique :
J'ai créer une page html contenant un tableau, les colonnes sont les suivantes : nom/prenom/adresse/codePostal/ville/btnGmap/btnIGN/btnDelete
Le but étant de récupérer les informations de la ligne sélectionné pour les convertirs en coordonnée gps et centré ces dernières dans une modale au clic sur le bouton choisis ( gmap ou ign ).
Pour ce qui est de google map, je n'ai eu aucun soucis. Mon script fonctionne à merveille, et lorsque je ferme ma modale et que j'en ouvre une autre, ma geolocalisation s'actualise.
Pour ce qui est de IGN, le premier load fonctionne également bien ( sur le même principe que gmap ). En revanche si je quitte ma modale et que j'appuis sur le bouton ign d'une autre ligne, la geolocalisation ne s'actualise pas. Ce qui est vraiment problématique ..
J'appel à votre aide !
Voici mon tableau :
Voici ma modale IGN :
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
109
110 <table class="table table-striped" class="display" cellspacing="0"> <thead> <tr> <th><a class="thTab">Prenom</a></th> <th><a class="thTab">Nom</a></th> <th><a class="thTab">Adresse</a></th> <th><a class="thTab">CP</a></th> <th><a class="thTab">Ville</a></th> <th>GMap</th> <th>IGN</th> <th>Supprimer</th> </tr> </thead> <tbody> <tr> <td>Valentin</td> <td>dfgh</td> <td>xfgsdfgsdf</td> <td>dfgsdfgsd</td> <td>Saint Aubin Le Cauf</td> <td><button class="btnGmap" data-toggle="modal" data-backdrop="static" data-keyboard="false" data-target="#myModal"> <a href="#?w=700" rel="popup_name" class="poplight"><img class="loupe" src="images/Loupe.png" /></a> </button></td> <td><button class="btnIGN" data-toggle="modal" data-backdrop="static" data-keyboard="false" data-target="#myModalIGN"> <a href="#?w=700" rel="popup_name" class="poplight"><img class="loupe" src="images/Loupe.png" /></a> </button></td> <td><div class="btn removePointer"> <div class="btn-back"> <p>Êtes-vous sûr ?</p> <button class="yes">Oui</button> <button class="no">Non</button> </div> <div class="btnFront"> <button class="resizeButton"> <img class="imgSize" src='images/quit.png'> </button> </div> </div></td> </tr> <tr> <td>Jean</td> <td>Dupond</td> <td>dfghdfgh</td> <td>dfghdfgh</td> <td>Sartrouville</td> <td><button class="btnGmap" data-toggle="modal" data-backdrop="static" data-keyboard="false" data-target="#myModal"> <a href="#?w=700" rel="popup_name" class="poplight"><img class="loupe" src="images/Loupe.png" /></a> </button></td> <td><button class="btnIGN" data-toggle="modal" data-backdrop="static" data-keyboard="false" data-target="#myModalIGN"> <a href="#?w=700" rel="popup_name" class="poplight"><img class="loupe" src="images/Loupe.png" /></a> </button></td> <td><div class="btn removePointer"> <div class="btn-back"> <p>Êtes-vous sûr ?</p> <button class="yes">Oui</button> <button class="no">Non</button> </div> <div class="btnFront"> <button class="resizeButton"> <img class="imgSize" src='images/quit.png'> </button> </div> </div></td> </tr> <tr> <td>Jean</td> <td>Neymar</td> <td>79 rue test</td> <td>76200</td> <td>Dieppe</td> <td><button class="btnGmap" data-toggle="modal" data-backdrop="static" data-keyboard="false" data-target="#myModal"> <a href="#?w=700" rel="popup_name" class="poplight"><img class="loupe" src="images/Loupe.png" /></a> </button></td> <td><button class="btnIGN" data-toggle="modal" data-backdrop="static" data-keyboard="false" data-target="#myModalIGN"> <a href="#?w=700" rel="popup_name" class="poplight"><img class="loupe" src="images/Loupe.png" /></a> </button></td> <td><div class="btn removePointer"> <div class="btn-back"> <p>Êtes-vous sûr ?</p> <button class="yes">Oui</button> <button class="no">Non</button> </div> <div class="btnFront"> <button class="resizeButton"> <img class="imgSize" src='images/quit.png'> </button> </div> </div></td> </tr> </tbody> </table>
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 <div class="modal fade" id="myModalIGN" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-label="Close"> <span aria-hidden="true"><img src="images/quit.png" class="imgQuit"></span> </button> <h4 class="modal-title coordsIGN" id="myModalLabel"></h4> </div> <div class="modal-body"> <div id="map-canvasIGN" style="float: center; height: 400px; width: 100%"></div> </div> </div> </div> </div>
Voici ma fonction de load de l'api ign:
Vous noterez que j'utilise une fonction de l'api google map pour convertir mon adresse en coordonnées gps ( mon paramètre 'address: "exemple d'addresse"' ne fonctionne pas je sais pas pourquoi ). Mais le principe reste le même.
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 $('.table-striped').on('click', '.btnIGN' ,function() { $('.coordsIGN').text(''); $(this).each(function() { var adr = $(this).parents("tr").find('td').eq(2).html(); var cp = $(this).parents("tr").find('td').eq(3).html(); var ville = $(this).parents("tr").find('td').eq(4).html(); var adreIGN = adr + " " + cp + " " + ville; $('.coordsIGN').append('<center>Adresse : ' + adreIGN + '</center>'); geocoder.geocode( { 'address': adreIGN}, function(results, status) { map.setCenter(results[0].geometry.location); var latLong = map.getCenter(); var latLongStr = latLong.toString().split(",",2); var latIgn = latLongStr[0].substr(1,latLongStr[0].toString().length); var lngIgn = latLongStr[1].substring(0,(latLongStr[1].toString().length - 1)); window.onload = Geoportal.load( 'map-canvasIGN', [APIkey], { lon: parseFloat(lngIgn), lat: parseFloat(latIgn) }, 15, { type:'js' }); }); }); });
Voici un aperçu de ma page web :
voici le resultat au premier clic :
voici le resultat du deuxième clic ( pas de rafraichissement alors que l'adresse est bien prise en compte ) :
Je vous remercie d'avance pour votre aide ...
Partager