0

Ich erlaube Benutzern, ihren Posts mit Google Maps eine Adresse hinzuzufügen.Adressvalidierung mit Google Maps - Adresse überprüfen

Wenn ein Benutzer nichts für die Karte ein oder tritt ungerade Sonderzeichen (# $ @ #!) Es auf der Website stürzt ab und gibt mir diese Fehlermeldung:

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

Ich versuche, einen Weg, um herauszufinden, Überprüfen Sie diesen Fehler, wenn das Formular gesendet wird. Bisher hatte ich kein Glück. Ist es möglich, nach diesem Fehler zu suchen?

Ich habe Code wie diesen gesehen, aber alles in undefined und ich bin mir nicht sicher, wie man es in diesem Fall definiert und ehrlich gesagt bin ich nicht sicher, wie der Code unten funktioniert.

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'); 
    } 

Danke für jede Hilfe!

Antwort

0

Es herausgefunden: Einfach und funktioniert perfekt.

Schritt 1: Vergewissern Sie sich, dass sich diese Seite auf Ihrer Seite befindet.

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

Dann

$("#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"); 
     }); 
    }; 
Verwandte Themen