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

Langage Delphi Discussion :

Google Maps et Delphi


Sujet :

Langage Delphi

  1. #1
    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 Google Maps et Delphi
    Bonjour, je souhaite utiliser l'API Google Maps depuis Delphi. L'idée finale serait de pouvoir avoir la distance entre deux adresses (code postal et nom de la localité). Je ne veux pas afficher un composant WEB dans mon application mais simplement envoyer une "requête" à Google Maps et je peux récupérer la distance que j'afficherai ensuite dans un TEdit.

    J'ai lu beaucoup de choses et je sais que l'API Google Map est en javascript. Biensûr l'on peut utiliser le javascript dans Delphi. Ceci nous permettra d'afficher les kilomètres à l'écran ou autre, mais comment récupérer cette valeur uniquement.

    Merci d'avance pour toutes vos réponses constructives.

    Pierre

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780

  3. #3
    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
    Merci pour ce lien mais je l'avais déjà vu. En fait lui il exécute du javascript dans son code delphi ceci n'est pas le problème dans mon cas. Il s'agirait de pouvoir récupérer une variable javascript après l'exécution du code javascript. Typiquement pouvoir récupérer la distance en Km entre deux adresses en Delphi...

    Merci quand meme de ton aide

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 148
    Points : 1 414
    Points
    1 414
    Par défaut
    bonjour lesuisse

    as tu reussit a solutionner ton pb ?

    j'aimerai recuperer les coordonnees vers delphi .

    olivier

  5. #5
    Membre confirmé
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Février 2006
    Messages
    537
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2006
    Messages : 537
    Points : 460
    Points
    460
    Par défaut
    Bonjour,
    j'ai cela en magasin car j'ai déja utilisé google map dans une de mes applications.
    Je regarderai plus tard (1h) car je n'ai pas le temps tout de suite.

    André

  6. #6
    Membre habitué Avatar de neodelphi2007
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 202
    Points : 179
    Points
    179
    Par défaut


    je ne sais pas si tu vu la distance à "vol d'oiseaux" mais avec la latitudee et la longitude des deux adresse tu devrait en tirer quelque choses avec les composants suivant:

    http://torry.net/news.php?id=4

  7. #7
    Membre actif
    Avatar de Emyleen
    Femme Profil pro
    Webmaster
    Inscrit en
    Mars 2010
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 150
    Points : 230
    Points
    230
    Par défaut
    Bonjour,

    Je m'excuse de faire remonter ce sujet qui date d'y il a 5 ans Oo mais je rencontre actuellement le même problème.

    Je travaille sur un logiciel codé sous Delphi et on m'a demandé d'y intégrer Google Maps. Jusque là pas de problème cependant pour contourner le problème de l'OVER_QUERY_LIMIT imposée par Google lorsque l'on fait des requêtes de Géocodage, j'ai décidé de stocker mes données de géolocalisation dans la base de données.

    Pour cela, j'exécute ma fonction Javascript de Géocodage à partir de mon code Delphi, elle fonctionne bien si je retourne les valeurs dans un input de mon WebBrowser mais impossible de récupérer une valeur de retour!

    Si je rajoute un return dans ma fonction javascript, l'application Delphi plante au lancement de l'exécution de la fonction.

    J'ai farfouillé et j'ai lu qu'on pouvait utiliser un objet COM, instancié à partir du Javascript.

    Quelqu'un pourrait éclairer ma lanterne? (Je tiens à préciser que je suis une bille en Delphi ^^")

    Merci!

  8. #8
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Je n'ai pas la solution mais voici trois pistes

    How to call Delphi code from scripts running in a TWebBrowser

    Mozilla-Delphi Project

    Besen

    la première répond à ta question

    les deux autres devraient permettre d'exécuter du JS sous Delphi, sachant que dans ta demande tu n'as pas besoin d'afficher une carte ça devrait pouvoir le faire ... sauf si Google utilise le DOM.

  9. #9
    Membre expérimenté
    Avatar de ouiouioui
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2006
    Messages
    984
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 984
    Points : 1 419
    Points
    1 419
    Par défaut
    je n'ai pas la réponse non plus, mais pour ceux qui se lancerai sachez qu'il y a aussi MAPPY en service Français qui permet de faire du geocodage http://connect.mappy.com/fr/

  10. #10
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 573
    Points : 25 206
    Points
    25 206
    Par défaut
    Pourquoi utiliser une Uzinagaz en JavaScript alors que de petite requête HTTP font le boulot ?
    Les WebServices c'est la pour cela !

    Personne ne va au conférence Code Way ?
    Marco Cantu a évoqué l'utilisation de WebService REST pour utiliser directement les API Google MAP, Google Spreadsheet et Google Big Table

    Allez une Video sur Embarcadero : Delphi tutorial video: Extending functionality of a REST client with Yahoo and Google Maps

    Delphi REST Clients Collection : 03_GeoLocation

    Ensuite, il faut emplucher la Doc de Google MAP
    En étudiant le JS tu devrais trouver la requête HTTP !




    Edit 2011 - 2009 = 2 ans et non 5

  11. #11
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    analyser le code JS est une mauvaise idée, il suffti que Google le change pour que ça ne fonctionne plus, c'est pour cela qu'il y a une API

    par contre ceci fonctionne en effet

  12. #12
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 573
    Points : 25 206
    Points
    25 206
    Par défaut
    En quoi c'est une mauvaise idée ?
    J'espère que Google utilise les mêmes requêtes HTTP dans leur JS que celle décrite dans The Google Geocoding API
    Sinon ça serait un "Faite ce que je dis mais pas ce que je fais !"
    C'est juste plus simple de regarder ce que fais le JS comme requête HTTP, d'essayer de la comprendre en regardant la Doc que d'essayer de pondre une requête de nulle-part !

  13. #13
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 448
    Points
    28 448
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    En quoi c'est une mauvaise idée ?
    J'espère que Google utilise les mêmes requêtes HTTP dans leur JS que celle décrite dans The Google Geocoding API
    Sinon ça serait un "Faite ce que je dis mais pas ce que je fais !"
    C'est juste plus simple de regarder ce que fais le JS comme requête HTTP, d'essayer de la comprendre en regardant la Doc que d'essayer de pondre une requête de nulle-part !
    mais oui, c'est exactement pour cela qu'en programmation objet tu as des champs privés "j'en fait ce que je veux, nah !"

    le code JS de Google n'est pas "obligé" d'utiliser l'API publique...ils peuvent utiliser une version beta, ou non encore publiée, ou une version moins pratique car le code n'a pas encore été mis à jour...ou même quelque chose qu'ils se réservent.

    les seules URL dont tu peux espérer qu'elles fonctionneront plus longtemps que les autres, ce sont celles de la doc

  14. #14
    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
    en utilisant REST on est limité à 2500 requêtes par jour et par IP, en passant par javascript non mais on a par contre un délai à respecter entre chaque demande, en gros une requête par seconde sinon on prend un OVER_QUERY_LIMIT

    il faut aussi faire attention car google maps n'est pas "gratuit" il faut prendre une licence si on développe du code payant avec

    Dans le genre plus gratuit il y a Open MapQuest

  15. #15
    Membre actif
    Avatar de Emyleen
    Femme Profil pro
    Webmaster
    Inscrit en
    Mars 2010
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 150
    Points : 230
    Points
    230
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    analyser le code JS est une mauvaise idée, il suffti que Google le change pour que ça ne fonctionne plus, c'est pour cela qu'il y a une API

    par contre ceci fonctionne en effet
    Merci, je penses que je vais me servir de ça finalement.

    Je modifie le titre de mon document (window.document.title en JavaScript) Afin de pouvoir le récupérer en Delphi avec l'event OnTitleChange.

    Bon, ça n'est pas encore opérationnel mais je vais essayer et je vous tiens au courant!

    Par contre :
    Citation Envoyé par exoseven Voir le message
    il faut aussi faire attention car google maps n'est pas "gratuit" il faut prendre une licence si on développe du code payant avec
    J'ai lu les mentions légales et autres documents officiels de Google Map et bien que je trouve ça assez dur a comprendre, j'ai cru comprendre que l'on pouvait utiliser Google Map pour diffuser des données de localisation même si c'est via un logiciel payant.... A approfondir cependant.


    Citation Envoyé par exoseven Voir le message
    en utilisant REST on est limité à 2500 requêtes par jour et par IP, en passant par javascript non mais on a par contre un délai à respecter entre chaque demande, en gros une requête par seconde sinon on prend un OVER_QUERY_LIMIT

    il faut aussi faire attention car google maps n'est pas "gratuit" il faut prendre une licence si on développe du code payant avec

    Dans le genre plus gratuit il y a Open MapQuest
    J'ai aussi survolé les conditions d'utilisation de cet api, c'est aussi limité par une licence d'utilisation dans le cadre commercial

  16. #16
    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
    tu parles de ça ?

    use the MapQuest Services, other than the Open Services, in conjunction with any commercial application not publicly available without charge. If your application does not fit this criteria and you would like to discuss additional options for using the MapQuest Services please contact info@mapquest.com

    Cela distingue bien les apis Open des autres apis MapQuest qui sont payantes, mais bon je n'ai pas trop regardé non plus

    Pour google maps si tu extraits des données de géolocalisation tu dois obligatoirement afficher la carte, tu ne peux pas simplement te contenter d'extraire les données.

Discussions similaires

  1. [SimpleXML] Google Maps, Problème d'encoding dans une boucle
    Par yahn dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 23/09/2006, 19h40
  2. [google maps] probleme avec ie
    Par kowabounga dans le forum Général Python
    Réponses: 1
    Dernier message: 14/09/2006, 15h20
  3. 4D & Google Maps
    Par gbardy dans le forum 4D
    Réponses: 1
    Dernier message: 30/06/2006, 07h32
  4. Editeur de MAP en delphi pour jeux directX
    Par PetitScorpion dans le forum DirectX
    Réponses: 5
    Dernier message: 09/07/2002, 18h47

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