Problème de géocodage avec API Google Map

Résolu/Fermé
Thomas423 Messages postés 5 Date d'inscription lundi 4 février 2013 Statut Membre Dernière intervention 11 février 2013 - Modifié par Thomas423 le 6/02/2013 à 14:51
Thomas423 Messages postés 5 Date d'inscription lundi 4 février 2013 Statut Membre Dernière intervention 11 février 2013 - 6 févr. 2013 à 15:28
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 dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
Modifié par Alain_42 le 6/02/2013 à 15:18
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 lundi 4 février 2013 Statut Membre Dernière intervention 11 février 2013
6 févr. 2013 à 15:28
Oui, merci.
Sinon j'ai bidouillé ce code, et finalement j'ai réussi.

Merci
0