2014-12-11 1 views
0

Google지도 지오 코드를 호출하고 address_components struct 및 tring을 반복하여 도시 이름을 출력합니다. postal_town을 도시 이름으로 저장하고 싶습니다. 그러나 존재하지 않으면 대신 administrative_area_level_2를 사용하십시오.Google지도 API 검사가 존재합니다.

postal_town이 반환 되더라도 administrative_area_level_2는 여전히 사용 중입니다. 아무도 내가 뭘 잘못하고 있는지 알 수 있니?

for(var i=0, len=result.address_components.length; i<len; i++) { 
       var ac = result.address_components[i]; 

       if(ac.types.indexOf("postal_town") >= 0){ 
        state = $('#sharesparestepAddressCity').val(ac.long_name); 
       }else if(ac.types.indexOf("administrative_area_level_2") >= 0){ 
        state = $('#sharesparestepAddressCity').val(ac.long_name); 
       } 
      } 

답변

0

둘 다 존재하면 코드에서 마지막으로 발견 된 코드를 반환합니다. 원하는 것을 찾으면 처리를 중지하려면 break을 추가하십시오.

for(var i=0, len=result.address_components.length; i<len; i++) { 
    var ac = result.address_components[i]; 
    if(ac.types.indexOf("postal_town") >= 0){ 
    state = $('#sharesparestepAddressCity').val(ac.long_name); 
    break; 
    } else if(ac.types.indexOf("administrative_area_level_2") >= 0){ 
    state = $('#sharesparestepAddressCity').val(ac.long_name); 
    } 
} 
+0

대단히 감사합니다. –