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 =)
A voir également:
Google maps api adresse
Api google maps javascript - Meilleures réponses
Utiliser mysql et php avec google maps - Meilleures réponses
.... 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/ )
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à :
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...
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...
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...
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 ?
<?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)