IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

C# avec Google earth


Sujet :

C#

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2011
    Messages : 82
    Points : 28
    Points
    28
    Par défaut C# avec Google earth
    Bonjour ,
    je veux realiser une application qui permet à travers d'un fichier excel lu ou base de données Mysql d'importer les données de latitude et longitude de cette base et les exporter sur le logiciel google earth .


    Merci pour votre aide

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    En exportant les données venant d'Excel ou de la base de donnée dans un fichier KML utilisable par google earth ?

    Ou veux-tu simplement intéger GoogleMap à ton application et afficher au dessus de la carte Google des lignes et des Markers ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2005
    Messages
    700
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2005
    Messages : 700
    Points : 488
    Points
    488
    Par défaut
    +1 pour GoogleMap j'utilise perso leur API.
    J'ai créer une page html bidon avec juste les fonctions javascript de l'API GoogleMap

    Apres dans mon code c#, j'utilise le Webbrowser pour piloter googlemap et afficher le lieu souhaité dans mon appli, avec controle du zoom, placement de marqueur et tout et tout...

    ma page 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
    <!DOCTYPE html>
    <html>
    <head>
    <meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
    <style type="text/css">html { height: 100% }   body { height: 100%; margin: 0px; padding: 0px }   #map_canvas { height: 100% } </style>
    <script type="text/javascript"     src="http://maps.google.com/maps/api/js?sensor=false"> </script> 
    <script type="text/javascript">
    	var geocoder; 
    	var map;
    	   function initialize()
    	   {
    	   	     geocoder = new google.maps.Geocoder(); 
    	   	     var latlng = new google.maps.LatLng(-34.397, 150.644);
    	   	     var myOptions = {       zoom: 1,       center: latlng,       mapTypeId: google.maps.MapTypeId.ROADMAP     };
    	   	     map = new google.maps.Map(document.getElementById("map_canvas"),         myOptions);
    	   }
    	   function goaddress(addresse)
    	   {
    	   	    geocoder.geocode( { 'address': addresse}, function(results, status) {
    	   	    	       if (status == google.maps.GeocoderStatus.OK)
    	   	    	       {
    	   	    	       	    map.setCenter(results[0].geometry.location);
    	   	    	       	    var marker = new google.maps.Marker({map: map,              position: results[0].geometry.location         });
    	   	    	       }
    	   	    	       else
    	   	    	       {
    	   	    	       	    alert("Geocode was not successful for the following reason: " + status);
    	   	    	       }
    	   	    });
    	   }
    </script>
    </head>
    <body onload="initialize()">
    <div id="map_canvas" style="width:100%; height:100%"></div>
    </body>
    </html>
    ptit bout de code c# (bien degueu):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    webBrowser1.Navigate(@"file:///D:/code/MonProjet/bin/Debug/page.html");
    webBrowser1.Document.InvokeScript("goaddress", new object[] { Extractaddress(textBox2.Text)});

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    on peut aussi appeler c# depuis GoogleMap. Par exemple :
    Code C#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void FromGM_MapClick(float Lat, float Lon)
    {
       MessageBox.Show("Coord : "+Lat.ToString()+" / "+(Lon).ToString());
    }
    Code JavaScript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Dans la fonction initialize()
    GEvent.addListener(map,'click',OnMapClick) ;
    // ...
    function OnMapClick(overlay,point) 
    {
        if (point) window.external.FromGM_MapClick(point.x,point.y) ;
    }
    Et accessoirement, on peut aussi mettre le fichier "page.html" en ressource incorporée à l'exe.

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Inscrit en
    Février 2011
    Messages
    82
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Février 2011
    Messages : 82
    Points : 28
    Points
    28
    Par défaut
    Merci mais je veux plutot utiliser des donnée de la base mysql pour les exporté dans google earth biensur si la creation du fichier KML est obligatoire pour faire apparaitre les data dans google ca va pas etre un probleme

  6. #6
    Membre à l'essai
    Étudiant
    Inscrit en
    Septembre 2010
    Messages
    12
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2010
    Messages : 12
    Points : 13
    Points
    13
    Par défaut
    Bonsoir, tu peux aussi bien utiliser : www.wikimapia.org et le fichier XML. Je m'explique :

    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
     try
                {
                    XmlDocument docxml = new XmlDocument();
                    docxml.Load(" l'url de ton server MySql ");
                   string lat , longit;
                    XmlNodeList element = docxml.DocumentElement.GetElementsByTagName("coordonées");
    // coordonnées par exemple, le noeud qui regroupe la latitude et longitude
     
     
                    foreach (XmlNode noeud in element)
                    {
                        foreach (XmlNode noeudef in noeud.ChildNodes)
                        {
                            if (noeudef.LocalName == "latitude")
                                lt = noeudef.InnerText;
                            else
                                if (noeudef.LocalName == "longitude")
                                    longit = noeudef.InnerText;
     
                        }
     
    //En suite dans ton webBrowser
    string requette="http://www.wikimapia.org/#lat="+lat+"&lon="+longit+"&z=18&l=0&m=b";
    WebBrowser1.Navigate (new Uri(requette));
                    }
                }
                catch (Exception et) { MessageBox.Show(et.Message); }

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Août 2004
    Messages
    224
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 224
    Points : 78
    Points
    78
    Par défaut
    Bonjour, j'ai essayer de mettre ce code en place :

    Citation Envoyé par Graffito Voir le message
    on peut aussi appeler c# depuis GoogleMap. Par exemple :
    Code C#
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void FromGM_MapClick(float Lat, float Lon)
    {
       MessageBox.Show("Coord : "+Lat.ToString()+" / "+(Lon).ToString());
    }
    Code JavaScript
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // Dans la fonction initialize()
    GEvent.addListener(map,'click',OnMapClick) ;
    // ...
    function OnMapClick(overlay,point) 
    {
        if (point) window.external.FromGM_MapClick(point.x,point.y) ;
    }
    Et accessoirement, on peut aussi mettre le fichier "page.html" en ressource incorporée à l'exe.
    Mais window.external semble être mon fichier map.html et non la form c#, du coup la fonction FromGM_MapClick n'est pas trouvée.

    Si quelqu'un pouvait éclairer ma lanterne ...
    Merci !

Discussions similaires

  1. Problème avec Google Earth
    Par Aitone dans le forum Ubuntu
    Réponses: 1
    Dernier message: 04/04/2008, 06h15
  2. Interagir avec Google Earth
    Par anouar dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 16/07/2007, 11h05
  3. [Google Earth] Google Earth en ligne
    Par Furius dans le forum Autres Logiciels
    Réponses: 11
    Dernier message: 13/11/2005, 21h28
  4. [Google Earth] Erreur avec Google Earth
    Par Furius dans le forum Autres Logiciels
    Réponses: 13
    Dernier message: 09/11/2005, 21h16
  5. google earth
    Par blue dans le forum Autres Logiciels
    Réponses: 12
    Dernier message: 16/08/2005, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo