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

Web & réseau Delphi Discussion :

Comment obtenir Google Maps dans une Form ?


Sujet :

Web & réseau Delphi

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut Comment obtenir Google Maps dans une Form ?
    J'aimerais intégrer dans un Form Delphi7 un Google Maps paramètré comme bon me semble

    Je sais que je peux paramétrer Google Maps en Javascript dans une page web. Mais dans ce cas précis je ne sais pas s'il ne serait pas plus simple de le paramétrer le tout (si possible) dans l'URL ?

    De plus pour l'intégrer dans un forms, je sais qu'il y a le TWebBrowser. Mais pour la page à charger, si je ne peux pas tout transmettre par l'URL il me faut charger une page existante. Que faire? La générer en Delphi ou bien la fournir avec l'appli?

    Edit: Ah et je ne vois pas comment déclencher le chergement d'une page dans TWebBrowser...

    EDIT2: oups... trouver pour charger la page.. c'etait WebBrowser1.Navigate('adresseweb');

  2. #2
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    WebBrowser1.Navigate('http://maps.google.com/?hl=fr&ll='+EdLat.Text+','+EdLong.Text);
    Ne m'affiche pas la mage correctement

  3. #3
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Voici un exemple d'utilisation pour google Maps :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    procedure TForm1.NaviguerClick(Sender: TObject);
    var
    url:string;
    begin
    URL := 'http://maps.google.fr/maps?f=q&hl=fr&q=';
    URL := URL + adresse.Text + ',+' + code_postal.Text + '+' + ville.Text;
    WebBrowser1.Navigate(url);
    end;
    La form comprends 3 Edit nommé adresse , code_postal et ville ainsi qu'un WebBrowser et d'un bouton pour lancer la navigation.

    Il ne te reste plus qu'à saisir les valeurs des Edits pour que tu puisses localiser l'adresse ... si c'est ce que tu souhaites faire ...

    En espérant t'avoir aidé !
    A+

  4. #4
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Oui beaucoup merci

    J'ai aussi remarqué qu'en inversant le &hl=fr&ll=xx.xx,xx.xx (fonctionne pas) en &ll=xx.xx,xx.xx&hl=fr cela fonctionnait. Je veux pas savoir pourquoi mais bon...

  5. #5
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Si tout est OK pour toi, pense à mettre le tag Résolu STP!

    Merci

  6. #6
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Pas encore tout-à-fait mais je te promet de flagger le temps voulou...

    J'ai encore une question:
    Si j'intèger un TWebBrowser dans mon form je me retrouve effectivement avec Google Maps mais j'aurais préféré ne voir que la Map elle-même.
    Je n'ai que faire du frame de gauche.

    Suis-je obligé de passer par génération html+javascript ou bien y a-t-il un moyen d'y parvenir avec des paramètres dans l'URL ?

  7. #7
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Récupérer l'image me semble une tâche difficle je pense ... Je ne sais comment on pourrait s'y prendre pour n'avoir que la partie que tu désires

    Si quelqu'un sait comment faire, ça m'intéressait aussi...

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 396
    Points : 640
    Points
    640
    Par défaut
    un article intéressant sur le sujet

  9. #9
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Merci pour cette info

    [EDIT]

    En jettant un oeil, ca ne compile pas avec D7 ... un message a été posté signalant ce problème

  10. #10
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    116
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 116
    Points : 45
    Points
    45
    Par défaut
    Zut, ça avait l'air taillé à mesure pour ce que je veux réaliser

  11. #11
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Voilà, je m'absente un temps et c'est la panique :
    Bon, pour google maps, voici un projet tout fait (Delphi 7)
    http://www.developpez.net/forums/att...8&d=1158934194
    googleMaps.zip

    Par contre, je ne suis pas sur, mais il y a des problêmes de droits avec googlemaps, donc utilises plutôt NASA World Wind si tu veux des photos satellites. J'eu eu (huhu ? :aïe) une ex-QR en préparation :
    [QR] Comment télécharger une carte du globe NASA WorldWind et la sauver sur le disque dur.

    Auteur : Waskol
    Catégorie : ????
    (Composants Indy nécessaires)

    Dans une fiche, on place un bouton appelé Button1 et surtout un composant TIdHTTP appelé IdHTTP1

    Le principe :
    1) On télécharge l'image dans un flux mémoire (TMemoryStream) grâce au composant Indy.
    2) On "rembobine" le TMemoryStream
    3) On charge l'image à partir de ce flux grace à la méthode LoadFromStream de notre objet graphique (ici un TJPEGImage)
    4) On sauve l'image avec sa métode SaveToFile

    Ne pas oublier l'unité jpeg dans les uses...

    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
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    unit Unit1;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
      IdHTTP, StdCtrls;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        IdHTTP1: TIdHTTP;
        procedure Button1Click(Sender: TObject);
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Form1: TForm1;
     
    implementation
    uses JPEG;
    {$R *.dfm}
     
    procedure TForm1.Button1Click(Sender: TObject);
    var UnFluxMemoire:TMemoryStream;
        s:string;
        UnJPEG:TJPEGImage;
    begin
    //
    //http://wms.jpl.nasa.gov/wms.cgi     <ServerGetMapUrl>
    //?request=GetMap        obligatoire, pas de paramètre
    //&layers=global_      Nom du layer demandé :global_mosaic_base,modis
    //&srs=EPSG:4326          no tag World Wind only supports EPSG:4326
    //&width=600              Largeur en Pixels de l'image
    //&height=600            Hauteur en Pixels de l'image
    //&bbox=-5,45,5,55        Fenêtre de visualisation (Longitude Mini,Latitude Mini, Longitude Maxi, Latitude Maxi)
    //&format=image/jpeg   Format d'image demandé
    //&version=1.1.0          Version demandée
    //&styles=
      UnFluxMemoire := TMemoryStream.Create;
      UnJPEG:=TJPEGImage.create;
      try
      UnFluxMemoire.Clear;
      s:='http://wms.jpl.nasa.gov/wms.cgi?request=GetMap&layers=modis&srs=EPSG:4326&width=512&height=512&bbox=-5,45,5,55&format=image/jpeg&version=1.1.0&styles';
      IdHTTP1.Get(s,UnFluxMemoire );
      UnFluxMemoire.Seek(0, soFromBeginning);
      UnJPEG.LoadFromStream(UnFluxMemoire);
      UnJPEG.SaveToFile('C:\temp\France_UK1.jpeg');
     
      UnFluxMemoire.Clear; //Important !  Sinon, l'image suivante n'est pas téléchargée
      s:='http://wms.jpl.nasa.gov/wms.cgi?request=GetMap&layers=global_mosaic_base&srs=EPSG:4326&width=512&height=512&bbox=-5,45,5,55&format=image/jpeg&version=1.1.0&styles';
      IdHTTP1.Get(s,UnFluxMemoire );
      UnFluxMemoire.Seek(0, soFromBeginning);
      UnJPEG.LoadFromStream(UnFluxMemoire);
      UnJPEG.SaveToFile('C:\temp\France_UK2.jpeg');
     
      UnFluxMemoire.Clear;
      s:='http://wms.jpl.nasa.gov/wms.cgi?request=GetMap&layers=global_mosaic_base&srs=EPSG:4326&width=512&height=512&bbox=2.3,48.7,2.4,48.9&format=image/jpeg&version=1.1.0&styles';
      IdHTTP1.Get(s,UnFluxMemoire );
      UnFluxMemoire.Seek(0, soFromBeginning);
      UnJPEG.LoadFromStream(UnFluxMemoire);
      UnJPEG.SaveToFile('C:\temp\Paris.jpeg');
      finally
      UnFluxMemoire.Free;
      UnJPEG.Free;
      end;
    end;
     
    end.
    1) Je ne sais pas encore comment récupérer l'image directement au format BMP (il faut mettre quoi à la place de jpeg dans la requête http ? )
    2) Pour les Layers, il y en a sans doute d'autres que global_mosaic_base et modis, mais lesquels ?
    3) Si vous avez des idées je suis preneur pour cette FAQ
    4) C'est moche Paris, hein ?

    VOilà...

  12. #12
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Hey, Waskol est de retour !

    Ce projet m'intéressait! Dès que j'ai Delphi (autant dire pas avant Vendredi), j'essaierai ton code !

    Content de te revoir

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    Citation Envoyé par waskol Voir le message
    Voilà, je m'absente un temps et c'est la panique :
    Bon, pour google maps, voici un projet tout fait (Delphi 7)
    http://www.developpez.net/forums/att...8&d=1158934194
    googleMaps.zip

    Par contre, je ne suis pas sur, mais il y a des problêmes de droits avec googlemaps, donc utilises plutôt NASA World Wind si tu veux des photos satellites. J'eu eu (huhu ? :aïe) une ex-QR en préparation :



    VOilà...
    Bonjour Waskol, je n'arrive pas a télécharger ton fichier zip qui contient cet exemple googlemap. Il m'intéresse beaucoup. Peux-tu faire quelque chose ? Merci beaucoup

  14. #14
    Membre averti
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Points : 381
    Points
    381
    Par défaut
    Bonjour,

    J'ai le même problème pour télécharger le fichier, problème de droit à priori.

    Merci,
    Mathieu

  15. #15
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    OK, je vous le met au chaud ailleurs, sinon, j'ai réussi à la télécharger.
    (désolé pour ce retard, j'eu été occupé ces derniers temps )

  16. #16
    Membre expert
    Avatar de LadyWasky
    Femme Profil pro
    Inscrit en
    Juin 2004
    Messages
    2 932
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 932
    Points : 3 565
    Points
    3 565
    Par défaut
    Et là, c'est t'y bon ou pas ?
    Fichiers attachés Fichiers attachés

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2008
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    Oui c'est tout bon. Merci beaucoup ;-)

Discussions similaires

  1. [Débutant] comment afficher un text dans une form
    Par frederic_lh dans le forum VB.NET
    Réponses: 2
    Dernier message: 04/03/2010, 20h10
  2. [MooTools] plusieurs carte google map dans une seule page
    Par vladimire dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 03/03/2010, 22h15
  3. Integrer google maps dans une application
    Par La Truffe dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 01/11/2006, 16h45
  4. [C#][Débutant] Comment gerer des datas dans une form
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 4
    Dernier message: 30/04/2006, 00h10
  5. Comment obtenir la date dans une store proc?
    Par Dnx dans le forum Langage SQL
    Réponses: 4
    Dernier message: 17/10/2005, 17h31

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