2011-10-23 68 views

回答

2

哦,我終於明白了。問題不在Google地圖中。 您將返回的結果不是來自showAddress,而是來自回調。所以,它實際上並不存在。您還需要使用回調來顯示結果。就像這樣:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script> 
<script src="http://maps.google.com/maps/api/js?sensor=false" type="text/javascript"></script> 

<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?libraries=geometry&sensor=false"></script> 
<script type="text/javascript"> 
    var geocoder; 
    function showAddress(address, callback) 
    { 
    if (typeof(geocoder) == 'undefined') geocoder = new google.maps.Geocoder(); 

    geocoder.geocode({ 'address': address}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
     callback(results[0].geometry.location); 
     } else { 
     callback(0); 
     } 
    }); 
    } 

    $(document).ready(function(){ 
    $('#address').blur(function(){ 
     showAddress($('#address').val(), function(result) 
     { 
     if (result === 0) 
      alert('Adressen not found'); 
     else{ 
      alert(result); 
      $('#cords').val(result); 
     } 
     }); 
    }); 
    }); 
</script> 

<input type="text" name="address" id="address"> 

您可以檢查它在這裏工作:

相關問題