Problème de géocodage avec API Google Map

Résolu
Thomas423 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
Thomas423 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

Je vous explique mon problème: il s'agit simplement d'un geocodage sur l'API Google Map.

J'arrive à afficher la Google Map au chargement de ma page. Cependant, lorsque je lance la recherche de geocodage, rien ne se passe.
J'ai supprimé l'appel à ma fonction initialiser(), car je pensais que peut être la carte affichée par cette fonction cacherait celle de la fonction searchAdress() mais il n'y plus aucune carte d'affichée.
Le problème se situe donc au niveau de la fonction searchAdress()

Honnêtement, j'ai peur de ne pas comprendre le code de la fonction de géolocalisation.
Voici mon code:


<ui:composition> 

 <ui:define name="body"> 

        <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script> 
        <script type="text/javascript"> 

          function initialiser() { 
              
                var latlng = new google.maps.LatLng(48.856614, 2.352221900000); 
                //Options d'affichage de la carte 
                var optionsCarte =  
                { 
                    center: latlng, 
                    zoom: 4, 
                    mapTypeId: google.maps.MapTypeId.ROADMAP 
                }; 
                  
                //constructeur de la carte avec en paramètre ses caractéristiques définies ci-dessus 
                var carte = new google.maps.Map(document.getElementById("carte"), optionsCarte); 

            } 

             
          //Geocodage de l'adresse 
            var geocoder, carte; 
            function searchAddress(adress) 
            { 
             geocoder = new google.maps.Geocoder(); 
                geocoder.geocode( { 'address': address}, function(results, status) { 
                  if (status == google.maps.GeocoderStatus.OK) { 
                    var myOptions = { 
                    zoom: 8, 
                    center: results[0].geometry.location, 
                    mapTypeId: google.maps.MapTypeId.ROADMAP 
                    } 
                    carte = new google.maps.Map(document.getElementById("carte"), myOptions); 

                    var marker = new google.maps.Marker({ 
                        carte: carte, 
                        position: results[0].geometry.location 
                    }) 
                  } 
                    else { 
                     alert("Une erreur est survenue durant la géolocalisation"); 
                    }; 
                   
                }); 
                
            } 
               
        </script> 
         
         

  <h:form id="formulaire"> 
    
      
     <h:outputLabel styleClass="outputText" value="ville :" /> 
     <h:inputText styleClass="inputText" id="adress" name="adress" /> 
      
     <t:commandButton type="submit" value="Géolocaliser" onclick="searchAddress(adress); "> 
     </t:commandButton> 
      
      
     
         
    
  </h:form> 

<div  id="carte"></div> 

         

 </ui:define> 
 </ui:composition> 


Pourriez vous m'expliquer svp le fonctionnement de la fonction searchAdress(), et éventuellement m'expliquer mon erreur, car là je suis perdu.



A voir également:

2 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
tu as une erreur dans cette partie:
function searchAddress(adress)  
            {  
             geocoder = new google.maps.Geocoder();  
                geocoder.geocode( { 'address': address}, function(results, status) { 


le nom de ton argument de la fct est adress avec un seul d

et plus bas tu utilises cet argument avec 2 d address

pour éviter ces erreurs bêtes mets le nom français adresse
0
Thomas423 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Oui, merci.
Sinon j'ai bidouillé ce code, et finalement j'ai réussi.

Merci
0