Geocoder Google map

Geocoder Google map - HTML/CSS - Programmation

Marsh Posté le 28-02-2011 à 16:08:51    

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>

Reply

Marsh Posté le 28-02-2011 à 16:08:51   

Reply

Marsh Posté le 01-03-2011 à 11:36:21    

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
Reply

Marsh Posté le 01-03-2011 à 13:49:52    

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

Reply

Marsh Posté le 04-03-2011 à 23:41:05    

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

Reply

Marsh Posté le 05-03-2011 à 08:18:08    

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.

Reply

Marsh Posté le 06-03-2011 à 00:27:03    

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed