Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1546 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Geocoder Google map

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Geocoder Google map

n°2060080
wesley71
Posté le 28-02-2011 à 16:08:51  profilanswer
 

Bonjour,
 
Je souhaite grâce à l'api Google obtenir la latitude ainsi que la longitude d'un point (adresse obtenue grâce à un formulaire) que je voudrais insérer dans ma BDD.
Cependant cela ne fonctionne pas même après avoir utilisé la fonction showAddress(address).
J'ai essayé d'afficher la valeur des coordonnées mais les champs $lat et $lng restent vides.
 
Si quelqu'un pourrait m'aider un peu.
En vous remerçiant par avance.
 
 
Voici mon code complet :

Citation :


<?php
session_start();
if (!isset($_SESSION['login']))
{
  header ('Location: index.php');
  exit();
}
?>  
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" media="screen" type="text/css" title="Design" href="design.css" />
<link rel="shortcut icon" type="image/x-icon" href="logoicone.ico" />
<title> Admin </title>
 
<script src="http://maps.google.com/maps?file=api&v=2&key=
    ***"
    type="text/javascript"></script>
 
    <script type="text/javascript">//<![CDATA[
 
 /****************OBTENIR LES COORDONNEES D'UNE ADRESSE************************/
 
   var map = null;
      var geocoder = null;
 
      function load()
        {
        if (GBrowserIsCompatible())
          {
 
          map = new GMap2(document.getElementById("carte" ));
          map.setCenter(new GLatLng(49.8, 2.4), 6);
// Initialisation de l'objet "GClientGeocoder"
          geocoder = new GClientGeocoder();
    map.addControl(new GLargeMapControl());
          }
        }
// Fonction de geocoding.
// Transformation d'une adresse en coordonnées
      function showAddress(address)
        {
        if (geocoder)
          {
          geocoder.getLatLng(address, function(point)
            {
            if (!point) {alert(address + " not found" );} // Adresse non connue par Google Maps
            else
              {
 
              map.setCenter(point, 13); // Recentrage de la carte sur l'adresse
              var marker = new GMarker(point); // Initialisation d'un marker
              map.addOverlay(marker); // Affichage du marker
              marker.openInfoWindowHtml(address); // Affichage d'une bulle contenant l'adresse
   
     latitude = results[0].geometry.location.lat();
        longitude = results[0].geometry.location.lng();
       /* Insertion des coordonnées dans les input text */
       document.getElementById('lat').value = latitude;
       document.getElementById('lng').value = longitude;
     
                                  /*Pour recuperer les valeurs longitude et latitude dans le php*/
      document.write(latitude);
      document.write(longitude);
              }
            });
          }
        }
    //]]>
 </script>
 
 
 
</head>
 
<body onload="load()" onunload="GUnload()">
 
<form method=post action="admin.php">
  <div class="">
     
  <FIELDSET>
     <LEGEND align=""> Engregistrement d'une Box :</LEGEND>
      Nom du commercant ou de l'établissement : <input type="text" name="Nom_commercant" size =30> </input> <br/>
    Nom de la box : <input type="text" name="Nom_box" size =20> </input> <br/>
    Nom du FAI : <input type="text" name="FAI" size =20> </input> <br/>
    @ Mac : <input type="text" name="Addr_mac" size =20> </input> <br/>
    Adresse ou se trouve la box :<input type="text" name="Addr_box" size =20>  </input> <br/>
    Ville : <input type="text" name="Ville" size =30>  </input> <br/>
    Code postale : <input type="text" name="CP" size =20>  </input> <br/>
    Departement : <input type="text" name="Departement" size =30>  </input> <br/>
    Region : <input type="text" name="Region" size =20>  </input> <br/>
    Date de mise en service : <input type="text" name="Start_box" size =20> (ex: AAAA-MM-JJ) </input> </br>
    </FIELDSET>  
   </form>  
    <input type="submit" value="valider" name="valider">
    <?php
    /*Permet d'utiliser la fonction showAddress() qui retourne les coordonnées d'un point*/
    ?>
    <form action="#" onsubmit="showAddress(this.address.value); return false">
       <input type="text" size="80" name="address" value="<?php echo $_POST['Addr_box'].' '.$_POST['CP'].' '.$_POST['Ville']; ?>"><input type="submit" value="Recherche"><br>
    </form>
   
     
     
    <div id="carte" style="width: 500px; height: 300px"></div>    
    </div>
     
    <?php
     /*On récupère les coordonnées du point voulu de la fonction showAddress()*/
     $lat= "<script>document.write(latitude);</script>";
     $lng= "<script>document.write(longitude);</script>";
 
     
    ?>
    <input type="submit" value="Ajouter à la BDD !" name="valider2">
    <?php
    /*Si on appuie sur le 1er bouton : valider, on sauvegarde les champs du formulaire dans les variables*/
    if(isset($_POST['valider']))
    {
     $_SESSION['Nom_commercant']=$_POST['Nom_commercant'];
     $_SESSION['Nom_box']=$_POST['Nom_box'];
     $_SESSION['FAI']=$_POST['FAI'];
     $_SESSION['Addr_mac']=$_POST['Addr_mac'];
     $_SESSION['Addr_box']=$_POST['Addr_box'];
     $_SESSION['Ville']=$_POST['Ville'];
     $_SESSION['CP']=$_POST['CP'];
     $_SESSION['Departement']=$_POST['Departement'];
     $_SESSION['Region']=$_POST['Region'];
     $_SESSION['Start_box']=$_POST['Start_box'];
 
     $Nom_commercant=$_SESSION['Nom_commercant'];
     $Nom_box=$_SESSION['Nom_box'];
     $FAI=$_SESSION['FAI'];
     $Addr_mac=$_SESSION['Addr_mac'];
     $Addr_box=$_SESSION['Addr_box'];
     $Ville=$_SESSION['Ville'];
     $CP=$_SESSION['CP'];
     $Region=$_SESSION['Region'];
     $Departement=$_SESSION['Departement'];
     $Start_box=$_SESSION['Start_box'];
     
     
    }
 
 
 /*Si le 3eme bouton: Ajouter à la BDD ! est appuyé, on insert les champs SAUVEGARDES dans la BDD*/
   if (isset($_POST['valider2']))
    {
     
      // Connexion à la BDD
   $connexion = mysql_connect("***","***","***" );
   
   //test de connexion valide
   $ok = mysql_select_db("***", $connexion);    
   
   // On insert tous les valeurs saisie depuis formulaire dans la BDD
   mysql_query ("INSERT INTO BOX (Lattitude_Box, Id_Box, Nom_Box, MAC_Box, Longitude_Box, Date_Start_Box, Materiel_Box, Adresse_Box, cp_Box, Ville_Box, Region_Box, Departement_Box, Commercant)
    VALUES
   ('$lat', '', '$Nom_box', '$Addr_mac', '$lng', '$Start_box', '$FAI', '$Addr_box', '$CP', '$Ville', '$Region', '$Departement', '$Nom_commercant') " );  
   
    }//FIN IF
 ?>
</form>  
</body>
 
</html>

mood
Publicité
Posté le 28-02-2011 à 16:08:51  profilanswer
 

n°2060316
Nico5779
Posté le 01-03-2011 à 11:36:21  profilanswer
 

J'ai vaguement parcouru ton code, mais je vois vraiment pas ce que t'essaie de faire,  
genre :
 

Code :
  1. $lat= "<script>document.write(latitude);</script>";
  2.      $lng= "<script>document.write(longitude);</script>";


 
n'a aucun sens, pour faire ce que tu veux, regarde plutot du coté de la lib curl.
Voiçi un exemple : http://www.timshowers.com/2008/08/ [...] -part-one/

Message cité 1 fois
Message édité par Nico5779 le 01-03-2011 à 11:37:22

---------------
Créer votre blog gratuitement
n°2060371
wesley71
Posté le 01-03-2011 à 13:49:52  profilanswer
 

En faite ce que j'essaie de faire c'est de récupérer en php, la latitude et la longitude du code javascript de la fonction showaddress()  et pour cela j'avais vu sur internet que quelqu'un avait posté cette solution
 
Pour faire simple, je voudrais affecté la valeur d'une variable JS dans une variable php.
 
Est-ce que vous auriez une solution par hasard ?
 
Merci

n°2061274
cetplus
Wazard dans l'ombre
Posté le 04-03-2011 à 23:41:05  profilanswer
 

Je n'y comprends rien non plus;
Ce genre de chose : $_GET["latitude"];

n°2061280
rengzehn
Posté le 05-03-2011 à 08:18:08  profilanswer
 

Nico5779 a écrit :

J'ai vaguement parcouru ton code, mais je vois vraiment pas ce que t'essaie de faire,  
genre :
 

Code :
  1. $lat= "<script>document.write(latitude);</script>";
  2.      $lng= "<script>document.write(longitude);</script>";


 
n'a aucun sens, pour faire ce que tu veux, regarde plutot du coté de la lib curl.
Voiçi un exemple : http://www.timshowers.com/2008/08/ [...] -part-one/


 
c est vielle API du geocoder de google ça. Ils en sont à la  3 et y'a plus de key demandée.

n°2061378
cetplus
Wazard dans l'ombre
Posté le 06-03-2011 à 00:27:03  profilanswer
 

Je crois que rengzehn à répondu ?!
Ce sujet est résolu.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Geocoder Google map

 

Sujets relatifs
carte google mapsCarte Google maps installé sur site mais pas valide W3C
Executer du google analytics côté serveur !Code de recherche GOOGLE!
[Autocompletion AJAX] Moteur de recherche à la googleRéférencement d'un myspace supprimé par google ?
problème référencement sur googleAPI Google Maps version 2 (fonction google.load)
Follow this link dans google sur mon siteindex google desktop
Plus de sujets relatifs à : Geocoder Google map


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR