2012-07-10 3 views
0

, 여기 내가구글 맵 지오, 그것에서 전역 변수에 접근

for(i=0; i<locations.length; i++){ 

    var paddress = locations[i]['address'] +','+locations[i]['postal_code'] + ', ' +locations[i]['district'] + ',' + locations[i]['country']; 
    var pgeocoder = new google.maps.Geocoder(); 
    pgeocoder.geocode({ 'address': paddress}, function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 

      Storelatlong[i] = results[0].geometry.location; 

     } 
    }); 
    } 


    alert(Storelatlong.length); 

그러나 항상 수익을 무슨 일을하고 나는 주소에서 latlong 찾을 수있다, 나는 글로벌 배열 varibale에서 그들을 모두를로드 할 길이 0, 내가 latlong 괜찮아요, 내 지오 코더 함수 안쪽에 경고한다면 지오 코더 내부에서 전역 변수에 데이터를 assing하는 다른 방법입니다 감사합니다

답변

0

나는 그 문제는 그 시간에 당신이 얻을 것이라고 생각합니다. google i의 응답이 더 이상 정의되지 않았으므로이 항목을 폐쇄와 함께 수정 해주세요.

pgeocoder.geocode({ 'address': paddress}, (function(index) { 
     return function(results, status) { 
     if (status == google.maps.GeocoderStatus.OK) { 
      Storelatlong[index] = results[0].geometry.location; 
     }; 
     }(i)) 
); 
+0

아직 길이가 0이면 성공하지 못했습니다. –

+0

디버깅을하셨습니까? 응답 함수가 실행될 때 인덱스의 값은 무엇입니까? – user273895