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.
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) ; }
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager