0

Je laisse les utilisateurs ajouter une adresse à leurs messages en utilisant Google Maps.Validation d'adresse en utilisant Google Maps - Vérifier l'adresse

Si un utilisateur entre rien pour la carte ou des caractères spéciaux entre impairs (# $ @ #!), Il se bloque et le site me donne cette erreur:

var lat = data.results[0].geometry.location.lat; 
       ^
TypeError: Cannot read property 'results' of undefined 

J'essaie de trouver un moyen pour vérifier cette erreur lorsque le formulaire est soumis. Jusqu'à présent, je n'ai eu aucune chance. Est-il possible de vérifier cette erreur?

J'ai vu un code comme celui-ci mais tout est indéfini et je ne suis pas sûr de savoir comment le définir dans ce cas et franchement je ne sais pas comment fonctionne le code ci-dessous.

if (status == google.maps.GeocoderStatus.OK) { 
     var lat = results[0].geometry.location.lat(); 
     var lon = results[0].geometry.location.lng(); 
     searchStores(lat, lon); 
    } else { 
     $addressErrorP.removeClass('hide'); 
    } 

Merci pour toute aide!

Répondre

0

Compris: Simple et fonctionne parfaitement.

Étape 1: Assurez-vous que cela figure sur votre page.

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

Puis

$("#checkingAddress").click(checkGeocode); 

    function checkGeocode(){ 
     var addr = document.getElementById("location"); 
     // Get geocoder instance 
     var geocoder = new google.maps.Geocoder(); 

     // Geocode the address 
     geocoder.geocode({'address': addr.value}, function(results, status){ 
      if (status === google.maps.GeocoderStatus.OK && results.length > 0) { 
    alert('looks good') 
       // set it to the correct, formatted address if it's valid 
       addr.value = results[0].formatted_address;; 

     // show an error if it's not 
      }else alert("Invalid address"); 
     }); 
    };