2011-10-23 3 views
1

이 내가 무엇을 가지고 :주소를 지오 코드로 변환하면 "정의되지 않음"만 반환됩니다. 이유가 무엇입니까?

http://jsfiddle.net/JhCKW/1/

임 사용하여 Google지도 V3, 지오.

showAddress (param) 함수를 만들었습니다. 이것은 매개 변수를 취합니다. 주소가 맞다면 코드를 반환하고 그렇지 않으면 0을 반환합니다.

링크를 확인하면이 코드를 작성했음을 알 수 있습니다. 경고는 "정의되지 않음"입니다.

여기에 어떤 문제가 있습니까?

답변

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"> 

현재 작업을 확인할 수 있습니다 http://jsfiddle.net/BgDQc/2/

관련 문제