Utilisation API Google maps (javascript) avec des données en PHP [Résolu]

Lapourax 6167 Messages postés vendredi 15 mars 2013Date d'inscriptionContributeurStatut 2 octobre 2017 Dernière intervention - 2 sept. 2014 à 17:50 - Dernière réponse : Lapourax 6167 Messages postés vendredi 15 mars 2013Date d'inscriptionContributeurStatut 2 octobre 2017 Dernière intervention
- 3 sept. 2014 à 17:05
Bonjour !

Voilà j'ai un souci que je ne vois pas trop comment résoudre...
J'ai une appli en html/php avec un peu de javascript.
J'a un formulaire de saisie d'adresse qui fait le lien avec un fichier php qui enregistre les réponses dans la base.
Ma question est : Comment faire en Javascript pour utiliser l'aPI google maps (plus précisément le service geocoder) pour, avec l'adresse, calculer les coordonnées de l'adresse et les envoyer dans mon fichier php pour les ajouter en base avec le reste des informations ?

Infos utiles : j'utiliserai le retour d'infos au format json plutôt que XML sauf si y'a un besoin particulier. J'ai ma clef d'utilisation pour l'API google. Base de données mysql (je pense pas que ça importe vu que l'accès est géré séparément mais dans le doute)

Voilà donc si qqn à un bout de code qui peut me mettre sur la voie, merci d'avance =)
Afficher la suite 

8 réponses

Répondre au sujet
jordane45 20565 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 20 avril 2018 Dernière intervention - 2 sept. 2014 à 18:08
0
Utile
Bonjour,

Je ne suis pas sûr d'avoir compris exactement ton besoin...
Tu souhaites savoir comme utiliser google map ( et/ou geocoder) via du javascript ?

Dans ce cas.. il existe aussi des script tous fais pour manipuler les api google depuis du javascript..
par exemple une petite recherche de 5 secondes sur google me donne :
https://developers.google.com/maps/documentation/javascript/geocoding?hl=FR


.... Ou bien... ta question est : Comment depuis mon script Javascript ( Une fois que j'ai récuperé les infos dans google Map) les envoyer à ma page Php ??
=> Si c'est de cela qu'il s'agit (et je pense que oui)... la réponse est "simple".... Tu dois passer par AJAX !
( de préférence en utilisant jquery : http://api.jquery.com/jquery.ajax/ )





Commenter la réponse de jordane45
Lapourax 6167 Messages postés vendredi 15 mars 2013Date d'inscriptionContributeurStatut 2 octobre 2017 Dernière intervention - 3 sept. 2014 à 10:05
0
Utile
Merci pour ta réponse =)

Je précise. En fait je voudrais que quand je clique sur mon bouton de formulaire, j'appelle l'API de geocoding avec les infos du formulaire (adresse) pour sortir des coordonnées GPS qui correspondent puis les transférer dans mon fichier php qui les ajoutera en base.
J"ai bien vu comment marchait l'API avec des requêtes comme celle là :
https://maps.googleapis.com/maps/api/distancematrix/json?origins=Vancouver&destinations=San+Francisco&mode=driving&language=fr-FR&key=ma clef d'API


Mais je sais pas comment appeler cette requête en javascript et récupérer les résultats qui m'intéressent et les envoyer avec le reste de mes données dans mon form (method post). Si j'utilise ajax je ne peut pas envoyer mes autres données si ? Enfin je suis un peu perdu...
Commenter la réponse de Lapourax
jordane45 20565 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 20 avril 2018 Dernière intervention - 3 sept. 2014 à 10:55
0
Utile
je sais pas comment appeler cette requête en javascript et récupérer les résultats qui m'intéressent
As tu regardé les exemples du site que je t'ai donné ??
As tu cherché sur le net d'autres exemples ? (il y en a)..

les envoyer avec le reste de mes données dans mon form (method post).

Ajax te permet (entre autres choses) d'interfacer du javascript avec du PHP principalement utilisé pour Lire/écrire/supprimer dans une BDD en arrière plan...c'est à dire... sans avoir à changer de page ou à recharger la page en cours...
Plus d'infos :http://fr.wikipedia.org/wiki/Ajax_%28informatique%29

Si j'utilise ajax je ne peut pas envoyer mes autres données si
Rien ne t'empeche de récupérer TOUT le contenu de ton formulaire et les autres variables récupérées/créés par ton code javascript... et d'envoyer le tout à un script PHP...

Commenter la réponse de jordane45
Lapourax 6167 Messages postés vendredi 15 mars 2013Date d'inscriptionContributeurStatut 2 octobre 2017 Dernière intervention - 3 sept. 2014 à 11:43
0
Utile
3
Salut =)

Alors premièrement pour être précis je n'utilise pas l'API google maps v3 pour mon geocodage mais l'api de géocodage seule qui est à part (donc c'est ce lien qui correspond le mieux ). C'est principalement pour économiser mon quota de requêtes sur la carte.

Ensuite j'ai continué de chercher et j'ai trouvé ce site qui détaille un peu sans donner d'exemple. J'ai aussi trouvé cette page qui détaille les valeurs de retour et comment "extraire" les données (encore un lien).

J'ai aussi lu ton site pour l'utilisation d'Ajax.

La seule chose qui me manque pour combiner le tout c'est l'appel à l'API en javascript... Je trouve pas d'exemple sur le site de google (que des exemples dans le navigateur).
Alors que ça doit pas être le plus dur ! Je dois rater un truc quelque part...
Lapourax 6167 Messages postés vendredi 15 mars 2013Date d'inscriptionContributeurStatut 2 octobre 2017 Dernière intervention - 3 sept. 2014 à 11:47
J'ai ce tuto remarque qui correspond pas mal...
http://www.wikihow.com/Geocode-an-Address-in-Google-Maps-Javascript
Lapourax 6167 Messages postés vendredi 15 mars 2013Date d'inscriptionContributeurStatut 2 octobre 2017 Dernière intervention - 3 sept. 2014 à 11:50
C'est quand on dit qu'on trouve pas qu'on trouve le plus -_-
J'ai ce tuto ultra simple pour faire ça en php. Comme ça dans le php qui gère l'ajout en base je met une fonction et c'est réglé...
T'en pense quoi ?
Lapourax 6167 Messages postés vendredi 15 mars 2013Date d'inscriptionContributeurStatut 2 octobre 2017 Dernière intervention - 3 sept. 2014 à 12:17
En y regardant de plus près le premier tuto est obsolète (API v1)
Commenter la réponse de Lapourax
Lapourax 6167 Messages postés vendredi 15 mars 2013Date d'inscriptionContributeurStatut 2 octobre 2017 Dernière intervention - Modifié par Lapourax le 3/09/2014 à 17:06
0
Utile
Voilà la solution optimale :

<?php
// On prépare l'adresse à rechercher
$address = "1 avenue des champs elysées Paris";
 
// On prépare l'URL du géocodeur
$geocoder = "[http://maps.googleapis.com/maps/api/geocode/json?address=%s&sensor=false]";
 
// Encodage UTF8
$url_address = utf8_encode($address);
 
// Penser a encoder votre adresse
$url_address = urlencode($url_address);
 
// On prépare notre requête
$query = sprintf($geocoder,$url_address);

//echo $query; Vous montrerai l'URL definitive
 
// On interroge le serveur
$resultats = file_get_contents($query);
 
// On affiche le résultat
var_dump(json_decode($resultats)->results[0]->geometry->location->lat);
var_dump(json_decode($resultats)->results[0]->geometry->location->lng);

?> 


La vie est un mystère qu'il faut vivre, et non un problème à résoudre. (Gandhi)
La meilleure manière d'atteindre le bonheur est de le donner aux autres. (Lord Baden-Powell)
Commenter la réponse de Lapourax

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.