Bonjour,
J'essaie de récupérer des infos depuis un champ HTML (avec une carte OSM) en passant des paramètres via JS vers une fonction windev par le WL.Execute()
Code HTML :
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 sCodeMap est une chaîne Unicode = [ <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!-- Nous chargeons les fichiers CDN de Leaflet. Le CSS AVANT le JS --> <link rel="stylesheet" href="https://unpkg.com/leaflet@1.3.1/dist/leaflet.css" integrity="sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Zg0cRJAAQ==" crossorigin="" /> <style type="text/css"> #map{ /* la carte DOIT avoir une hauteur sinon elle n'apparaît pas */ height:800px; } </style> <title>Carte</title> </head> <body> <div id="map"> <!-- Ici s'affichera la carte --> </div> <!-- Fichiers Javascript --> <script src="https://unpkg.com/leaflet@1.3.1/dist/leaflet.js" integrity="sha512-/Nsx9X4HebavoBvEBuyp3I7od5tA0UzAxs+j83KgC8PU0kgB4XiK4Lfe4y4cgBtaRJQEIFCW+oC506aPT2L1zw==" crossorigin=""></script> <script type="text/javascript"> // On initialise la latitude et la longitude de Paris (centre de la carte) // 46.25346566757253, 6.964387471642008 var lat = 46.25346566757253; var lon = 6.964387471642008; var macarte = null; // Fonction d'initialisation de la carte // Créer l'objet "macarte" et l'insèrer dans l'élément HTML qui a l'ID "map" macarte = L.map('map').setView([lat, lon], 18); // Leaflet ne récupère pas les cartes (tiles) sur un serveur par défaut. Nous devons lui préciser où nous souhaitons les récupérer. Ici, openstreetmap.fr L.tileLayer('https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png', { // Il est toujours bien de laisser le lien vers la source des données attribution: 'données © <a href="//osm.org/copyright">OpenStreetMap</a>/ODbL - rendu <a href="//openstreetmap.fr">OSM France</a>', minZoom: 1, maxZoom: 20 }).addTo(macarte); macarte.on('click', function(e) { var lat = e.latlng.lat; var lng = e.latlng.lng; // Appel à la procédure WinDev pour transmettre les coordonnées WF.Execute("OSM_ClickCoordonnees"); }); </script> </body> </html> ] HTM_Map = sCodeMap
et dans mon code Windev (procédure globale a la fenêtre qui contient le champ HTML :
Mais rien ne se passe ... si je met un "alert();" dans le code de récupération du clic, en JS j'ai bien mon clic qui est récupéré ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 PROCÉDURE OSM_ClickCoordonnees() Trace( "test")
J'ai activé la coche dans le champ HTML pour autoriser les appels de langages depuis le code HTML
Une idée





Répondre avec citation


Partager