Connexion
S'inscrire
Actualités
Quoi de neuf
Activités générales
Auteurs
Forums
Nouveaux messages
Rechercher un forum
Quoi de neuf
Nouveaux messages
Nouveaux messages de profil
Activités générales
Membres
Membres inscrits
Visiteurs actuels
Nouveaux messages de profil
Rechercher dans les messages des profils
Teams
Créé ton équipe
Quoi de neuf ?
Nouveaux messages
Rechercher un forum
Menu
Connexion
S'inscrire
Install the app
Install
Forums
Forums généraux
Informatique
Utiliser Google Maps en C#
JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.
Vous utilisez un navigateur non à jour ou ancien. Il ne peut pas afficher ce site ou d'autres sites correctement.
Vous devez le mettre à jour ou utiliser un
navigateur alternatif
.
Répondre à la discussion
Message
<blockquote data-quote="Paradise'" data-source="post: 6933966" data-attributes="member: 300598"><p style="text-align: center"><img src="http://image.noelshack.com/fichiers/2016/46/1479153091-header.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /> </p> <p style="text-align: center"></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Bonjour à vous membre <strong><span style="color: #ff8000">premium </span></strong>de <img src="/images/smileys/smiley-rg.svg" class="smilie" loading="lazy" alt=":RG:" title="RG :RG:" data-shortname=":RG:" /></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Dans ce tutoriel je vais vous expliquer comment utilisé Google Maps avec votre logiciel en C#, cela peut être utile pour la distance entre un point A et un point B, après à vous de voir comment vous allez l'utiliser si vous vous en servez.</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Donc tout d'abord nous allons faire le « design » de notre application qui pour moi est simple étant donné qu'il s'agit d'un tutoriel.</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Chaque item qui est utilisé dans le code est renommé simplement, je pense cela devrait être compréhensible mais je vous l'expliquerai quand même.</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• 7 zones de texte</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• 3 radio bouton</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• 1 bouton</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• les labels sont facultatifs, mais appréciables pour l'utilisateur.</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Ce qui au final donne quelque chose comme ceci :</span></span></p> <p style="text-align: center"><img src="http://image.noelshack.com/fichiers-md/2016/46/1479153122-2d2deac99ffa446abb1e7ff01e2185cd2.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /> </p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Donc au final, pour les noms :</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• Zone de texte Départ : txtDepart</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• Zone de texte Arrivé : txtArrivee</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• Zone de texte Durée : txtDuree</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• Zone de texte Durée (raccourci) : txtDureeFormat</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• Zone de texte Distance : txtDistance</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• Zone de texte Distance (raccourci) : txtDistanceFormat</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• Zone de texte Réponse du service web : txtMessageXML</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• Radio bouton Voiture : rbVoiture</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• Radio bouton Vélo : rbVelo</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">• Radio bouton A pied : rbAPied</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Maintenant que le plus pénible est fait, on va passer au code ? <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite400" alt="::):" title="Smile ::):" loading="lazy" data-shortname="::):" /></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Pour commencer, on définit les références qu'on utilise, pas la peine de les importer.</span></span></p><p>[CODE]using System.Xml;</p><p>using System.Net;</p><p>using System.IO;</p><p>using System.Xml.Linq;</p><p>[/CODE]</p><p></p><p style="text-align: center"></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Ce qui au final nous donne ça :</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"><img src="http://image.noelshack.com/fichiers-md/2016/46/1479153153-a1a97d1445e0afb5841435f6406001612.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /> </span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Ensuite, juste avant le Main on ajoute ceci :</span></span></p><p>[CODE]</p><p>string mode = "";</p><p>WebClient webClient = new WebClient();</p><p>StreamReader reader;</p><p>XDocument xDocument = new XDocument();</p><p>[/CODE]</p><p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Comme ceci simplement :</span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"><img src="http://image.noelshack.com/fichiers-md/2016/46/1479153166-65f9116ed52801403c1a2917d1d7a4e0.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /> </span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Ensuite, on va faire une fonction pour voir comment l'utilisateur veut se déplacer.</span></span></p><p>[code]</p><p> private void CheckRadioBoutons()</p><p> {</p><p> if (rbAPied.Checked) mode = "walking";</p><p> if (rbVelo.Checked) mode = "bicycling";</p><p> if (rbVoiture.Checked) mode = "driving";</p><p> }</p><p>[/code]</p><p></p><p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Donc maintenant, on a presque terminé, il ne reste plus qu'à faire le code du bouton :</span></span></p><p></p><p>[CODE]</p><p> CheckRadioBoutons();</p><p> // On prépare la requete</p><p> string requete = "http://maps.googleapis.com/maps/api/distancematrix/xml?origins=" + txtDepart.Text + "&destinations=" + txtArrivee.Text + "&mode=" + mode + "&sensor=true";</p><p> // On envoie la requete</p><p> reader = new StreamReader(webClient.OpenRead(requete));</p><p> // On lit la réponse</p><p> string reponse = reader.ReadToEnd();</p><p> reader.Close();</p><p></p><p> txtMessageXML.Text = reponse;</p><p> xDocument = XDocument.Parse(reponse);</p><p> string status = xDocument.Descendants().Where(n => n.Name == "status").FirstOrDefault().Value;</p><p> // Si le web service a renvoyé "OK" affichage des résultats</p><p> if (status == "OK")</p><p> {</p><p> string duration = xDocument.Descendants().Where(n => n.Name == "value").Where(l => l.Parent.Name == "duration").FirstOrDefault().Value;</p><p> string strduration = xDocument.Descendants().Where(n => n.Name == "text").Where(l => l.Parent.Name == "duration").FirstOrDefault().Value;</p><p> string distance = xDocument.Descendants().Where(n => n.Name == "value").Where(l => l.Parent.Name == "distance").FirstOrDefault().Value;</p><p> string strdistance = xDocument.Descendants().Where(n => n.Name == "text").Where(l => l.Parent.Name == "distance").FirstOrDefault().Value;</p><p></p><p> txtDistance.Text = distance;</p><p> txtDistanceFormat.Text = strdistance;</p><p> txtDuree.Text = duration;</p><p> txtDureeFormat.Text = strduration;</p><p> }</p><p> else</p><p> {</p><p> MessageBox.Show("Une erreur s'est produite , veuillez consulter la réponse du web service");</p><p> }</p><p>[/CODE]</p><p></p><p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Donc voila c'est fonctionnel <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" class="smilie smilie--sprite smilie--sprite400" alt="::):" title="Smile ::):" loading="lazy" data-shortname="::):" /></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px">Voila une capture du rendu final : <a href="http://screencloud.net/v/k8B8" target="_blank">http://screencloud.net/v/k8B8</a></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"><a href="https://mega.nz/#!dYA1CRKI!vwvtJVvAU2mi4kflyQfOsz8GTPVtIeUDvbun9u31uSs" target="_blank">Code source</a> • <a href="https://www.virustotal.com/fr/file/9ee7281fef505aa89ccd976bc9645438dd43e2e87d3f151cfd47a4b42a30627b/analysis/1479151384/" target="_blank">Virus Scan</a></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"></span></span></p> <p style="text-align: center"><span style="font-family: 'Tahoma'"><span style="font-size: 12px"></span></span></p> <p style="text-align: right"><a href="https://reality-gaming.fr/members/paradise-gtp.300598/" target="_blank"><img src="http://image.noelshack.com/fichiers-md/2016/46/1479153198-mascotte-topic.png" alt="" class="fr-fic fr-dii fr-draggable " style="" /> </a></p></blockquote><p></p>
[QUOTE="Paradise', post: 6933966, member: 300598"] [CENTER][IMG]http://image.noelshack.com/fichiers/2016/46/1479153091-header.png[/IMG] [FONT=Tahoma][SIZE=3]Bonjour à vous membre [B][COLOR=#ff8000]premium [/COLOR][/B]de :RG: Dans ce tutoriel je vais vous expliquer comment utilisé Google Maps avec votre logiciel en C#, cela peut être utile pour la distance entre un point A et un point B, après à vous de voir comment vous allez l'utiliser si vous vous en servez. Donc tout d'abord nous allons faire le « design » de notre application qui pour moi est simple étant donné qu'il s'agit d'un tutoriel. Chaque item qui est utilisé dans le code est renommé simplement, je pense cela devrait être compréhensible mais je vous l'expliquerai quand même. • 7 zones de texte • 3 radio bouton • 1 bouton • les labels sont facultatifs, mais appréciables pour l'utilisateur. Ce qui au final donne quelque chose comme ceci :[/SIZE][/FONT] [IMG]http://image.noelshack.com/fichiers-md/2016/46/1479153122-2d2deac99ffa446abb1e7ff01e2185cd2.png[/IMG] [FONT=Tahoma][SIZE=3]Donc au final, pour les noms : • Zone de texte Départ : txtDepart • Zone de texte Arrivé : txtArrivee • Zone de texte Durée : txtDuree • Zone de texte Durée (raccourci) : txtDureeFormat • Zone de texte Distance : txtDistance • Zone de texte Distance (raccourci) : txtDistanceFormat • Zone de texte Réponse du service web : txtMessageXML • Radio bouton Voiture : rbVoiture • Radio bouton Vélo : rbVelo • Radio bouton A pied : rbAPied Maintenant que le plus pénible est fait, on va passer au code ? ::): Pour commencer, on définit les références qu'on utilise, pas la peine de les importer.[/SIZE][/FONT][/CENTER] [CODE]using System.Xml; using System.Net; using System.IO; using System.Xml.Linq; [/CODE] [CENTER] [FONT=Tahoma][SIZE=3]Ce qui au final nous donne ça : [IMG]http://image.noelshack.com/fichiers-md/2016/46/1479153153-a1a97d1445e0afb5841435f6406001612.png[/IMG] Ensuite, juste avant le Main on ajoute ceci :[/SIZE][/FONT][/CENTER] [CODE] string mode = ""; WebClient webClient = new WebClient(); StreamReader reader; XDocument xDocument = new XDocument(); [/CODE] [CENTER][FONT=Tahoma][SIZE=3]Comme ceci simplement : [IMG]http://image.noelshack.com/fichiers-md/2016/46/1479153166-65f9116ed52801403c1a2917d1d7a4e0.png[/IMG] Ensuite, on va faire une fonction pour voir comment l'utilisateur veut se déplacer.[/SIZE][/FONT][/CENTER] [code] private void CheckRadioBoutons() { if (rbAPied.Checked) mode = "walking"; if (rbVelo.Checked) mode = "bicycling"; if (rbVoiture.Checked) mode = "driving"; } [/code] [CENTER][FONT=Tahoma][SIZE=3]Donc maintenant, on a presque terminé, il ne reste plus qu'à faire le code du bouton :[/SIZE][/FONT][/CENTER] [CODE] CheckRadioBoutons(); // On prépare la requete string requete = "http://maps.googleapis.com/maps/api/distancematrix/xml?origins=" + txtDepart.Text + "&destinations=" + txtArrivee.Text + "&mode=" + mode + "&sensor=true"; // On envoie la requete reader = new StreamReader(webClient.OpenRead(requete)); // On lit la réponse string reponse = reader.ReadToEnd(); reader.Close(); txtMessageXML.Text = reponse; xDocument = XDocument.Parse(reponse); string status = xDocument.Descendants().Where(n => n.Name == "status").FirstOrDefault().Value; // Si le web service a renvoyé "OK" affichage des résultats if (status == "OK") { string duration = xDocument.Descendants().Where(n => n.Name == "value").Where(l => l.Parent.Name == "duration").FirstOrDefault().Value; string strduration = xDocument.Descendants().Where(n => n.Name == "text").Where(l => l.Parent.Name == "duration").FirstOrDefault().Value; string distance = xDocument.Descendants().Where(n => n.Name == "value").Where(l => l.Parent.Name == "distance").FirstOrDefault().Value; string strdistance = xDocument.Descendants().Where(n => n.Name == "text").Where(l => l.Parent.Name == "distance").FirstOrDefault().Value; txtDistance.Text = distance; txtDistanceFormat.Text = strdistance; txtDuree.Text = duration; txtDureeFormat.Text = strduration; } else { MessageBox.Show("Une erreur s'est produite , veuillez consulter la réponse du web service"); } [/CODE] [CENTER][FONT=Tahoma][SIZE=3]Donc voila c'est fonctionnel ::): Voila une capture du rendu final : [URL]http://screencloud.net/v/k8B8[/URL] [URL='https://mega.nz/#!dYA1CRKI!vwvtJVvAU2mi4kflyQfOsz8GTPVtIeUDvbun9u31uSs']Code source[/URL] • [URL='https://www.virustotal.com/fr/file/9ee7281fef505aa89ccd976bc9645438dd43e2e87d3f151cfd47a4b42a30627b/analysis/1479151384/']Virus Scan[/URL] [/SIZE][/FONT][/CENTER] [RIGHT][URL='https://reality-gaming.fr/members/paradise-gtp.300598/'][IMG]http://image.noelshack.com/fichiers-md/2016/46/1479153198-mascotte-topic.png[/IMG] [/URL][/RIGHT] [/QUOTE]
Insérer les citations…
Vérification
Publier la réponse
Forums
Forums généraux
Informatique
Utiliser Google Maps en C#
Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
Acceptez
En savoir plus.…
Haut