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

Composants FMX Delphi Discussion :

[Delphi 10 Seattle] Localiser un endroit avec une adresse civique


Sujet :

Composants FMX Delphi

  1. #1
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 391
    Points : 189
    Points
    189
    Par défaut [Delphi 10 Seattle] Localiser un endroit avec une adresse civique
    Bonjour

    Je cherche la méthode pour localiser un endroit à partir d'une adresse civique.

    J'ai fait l'exemple d'Embarcadero
    http://docwiki.embarcadero.com/RADStudio/XE8/fr/Tutoriel_mobile_:_Utilisation_de_d%C3%A9tecteurs_d'emplacement_(iOS_et_Android)

    Localiser un endroit par latitude et longitude ça va mais ça serait plus facile d'entrer l'adresse civique pour la localiser sur la carte. Avec Geocoder on peut avoir l'adresse mais je voudrais entrer l'adresse pour localiser l'endroit sur mon téléphone Android

    Comme https://maps.google.com/maps?q=(Lati...ongitude-value remplacer (Latitude-value),(Longitude-value) par l'adresse civique, ville etc.

    Merci de votre aide.


    Mario

  2. #2
    Membre émérite
    Avatar de Thierry Laborde
    Homme Profil pro
    N/A
    Inscrit en
    Avril 2002
    Messages
    1 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : N/A

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 391
    Points : 2 529
    Points
    2 529
    Par défaut
    Bonsoir,

    Il faut utiliser le service Geocoding de google maps :

    https://developers.google.com/maps/d...eocoding/intro

  3. #3
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 68
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 196
    Points : 41 428
    Points
    41 428
    Billets dans le blog
    63
    Par défaut
    Bonjour, sous windows je fait de la manière suivante

    1- une constante
    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
     
    const
    GoogleMapsPage: String =
    '<html> '+
    '<head> '+
    '<meta name="viewport" content="initial-scale=1.0, user-scalable=yes" /> '+
    '<script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3&sensor=true"></script> '+
    '<script type="text/javascript"> '+
    '  var map;'+
    '  function initialize() { '+
    '    geocoder = new google.maps.Geocoder();'+
    '    geocoder.geocode( { ''address'': [Adresse]}, function(results, status) {'+
    '        map.setCenter(results[0].geometry.location);'+
    '        var marker = new google.maps.Marker({map: map,position: results[0].geometry.location});'+
    '        });'+
     
    '    var latlng = new google.maps.LatLng([Lat],[Lng]); '+
    '    var myOptions = { '+
    '      zoom: 12, '+
    '      center: latlng, '+
    '      mapTypeId: google.maps.MapTypeId.[Type] '+
    '    }; '+
    '    map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); '+
    '    var marker = new google.maps.Marker({'+
    '      position: latlng, '+
    '      title: "[Title]", '+
    '      map: map '+
    '  });'+
    '  } '+
    ''+'</script> '+
    '</head> '+
    '<body onload="initialize()"> '+
    '  <div id="map_canvas" style="width:100%; height:100%"></div> '+
    '</body>'+
    '</html>';
    à remarquer, la fonction initialize() qui va faire appel au service geocoding

    2- Remplacement des tags (variables entre []) et chargement de la page
    pour les curieux ma localisation et celle de l'entreprise
    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
     
    procedure TFormCarte.Button1Click(Sender: TObject);
    var MapStr : String;
        function ReplaceTag(const PageStr,Tag,NewValue:string):String;
        begin
           Result:=StringReplace(PageStr,Tag,NewValue,[rfReplaceAll]);
        end;
    begin
      MapStr:=GoogleMapsPage;
      MapStr:=ReplaceTag(MapStr,'[Adresse]',QuotedStr('14 rue du moulinier 44115 HAUTE GOULAINE'));
      MapStr:=ReplaceTag(MapStr,'[Lat]','45.8518378');
      MapStr:=ReplaceTag(MapStr,'[Lng]','1.1587193');
      MapStr:=ReplaceTag(MapStr,'[Title]','Danse Azur SARL');
      MapStr:=ReplaceTag(MapStr,'[Type]','HYBRID');
      WebBrowser1.LoadFromStrings(MapStr,'');
    end;
    pourquoi ce type de code ? parce que je peux également utiliser Bings et OpenStreet de la même manière , juste en changeant MapStr
    la seule chose que je ne sais pas faire c'est, sous windows 10, récupérer la localisation (qui pourtant semble être enregistrée quelque part au niveau des paramètres)

  4. #4
    Membre habitué
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2002
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2002
    Messages : 391
    Points : 189
    Points
    189
    Par défaut [Delphi 10 Seattle] Localiser un endroit avec une adresse civique
    Bonjour

    Merci a vous M.Thierry Laborde et SergioMaster

    J'ai bien lu https://developers.google.com/maps/d...eocoding/intro ca ma permis de bien comprendre et utiliser l'exemple de SergiMaster qui fonctionne très bien c'est ce que je cherchais pour afficher la carte de localisation.

    Juste une question supplémentaire le pointeur de l'adresse disparait quand je fais une copie écran sur l'image copié.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
                   Image1.Bitmap:=webBrowser1.MakeScreenshot;
                   WebBrowser1.Visible:=false;
                   image1.Visible:=true;

    Merci beaucoup

    Mario

Discussions similaires

  1. Accès à un fichier avec une adresse absolue
    Par hmiezin dans le forum Langage
    Réponses: 4
    Dernier message: 04/03/2007, 23h25
  2. connaitre le pays avec une adresse IP ?
    Par stanley dans le forum Développement
    Réponses: 7
    Dernier message: 27/06/2006, 01h18
  3. Comment accéder à un javascript avec une adresse web?
    Par Pragmateek dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 30/03/2006, 13h52
  4. [PHPMailer] Les mails avec une adresse extérieure ne partent pas
    Par captaindidi dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 06/01/2006, 19h11
  5. [LG]Lecture de fichier avec une adresse internet
    Par forbin dans le forum Langage
    Réponses: 8
    Dernier message: 09/02/2005, 19h00

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