Bonjour à tous,
j'ai une google map dans un webbrowser, et j'aimerais récupérer dans mon programme c# la latitude et la longitude de l'endroit cliqué sur la map.
Est-ce possible ?
Merci
Bonjour à tous,
j'ai une google map dans un webbrowser, et j'aimerais récupérer dans mon programme c# la latitude et la longitude de l'endroit cliqué sur la map.
Est-ce possible ?
Merci
Ça n'inspire personne :p ?
Apparemment une piste à suivre serait d'utiliser mshtml.dll, mais c'est pas très clair pour l'instant ...
Bonjour,
sur l'événement onclick de la map, il est retourné,par l'api, des informations fortes intéressantes qui une fois récupérés peuvent être transmise coté serveur pour traitement.
La bien sûr je reste coté client en javascript.
Les joies du CSS | Réponses sur forum | Simple comme JS | Essais libres autour de l'API G$$gle Maps
✂ ---------------------------------------------
developpez.net c'est aussi :
✔ Les meilleurs cours et tutoriels pour apprendre le CSS
✔ Les meilleurs cours et tutoriels pour apprendre le (X)HTML
✔ Les meilleurs cours et tutoriels pour apprendre le JavaScript
Oui j'avais noté comment récupérer la position en javascript, mais le problème était de passer ces valeurs au webbrowser.
Grâce à DonQuiche sur le forum C# qui m'a dit :
J'ai mis en place la solution suivante qui marche très bien :Cela me semble possible avec l'approche suivante :
1) Utiliser WebBrowser.ObjectForScripting pour spécifier un objet COM (un objet dotnet marqué ComVisible) qui pourra être appelé depuis le javascript
2) Modifier le DOM du document pour remplacer le handler JS "click" original afin qu'il appelle ton objet COM.
PS : Gaffe à la sécurité. Il semblerait sage de vérifier que l'url de la page vient bien de Google.
C#
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 private void form_load(object sender, EventArg e) { webBrowser1.ObjectForScripting = this; ... }JavaScript :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 //Code appelé par le JavaScript public void FromGM_MapClick(float Lat, float Lon) { MessageBox.Show("Coord : " + Lat.ToString() + " / " + (Lon).ToString()); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 function OnMapClick(overlay,point) { if (overlay.point) window.external.FromGM_MapClick(overlay.point.x,overlay.point.y) ; }
Partager