1

this script을 사용하여 Google 스프레드 시트의 주소 열을 지오 코딩합니다. 주소 열에서 값을 가져 오는 getLatLon 함수를 만듭니다. 190 행 밖에 없지만 일일 지리 정보 API 제한 인 2,500에 곧 도달했습니다. 시트가로드 될 때마다 스크립트가 실행되기 때문에 이것이라고 생각합니다.Google 스프레드 시트에서 지오 코딩 호출 제한

주소가 아직 지오 코딩되지 않은 경우에만 스크립트를 실행하고 싶습니다. 이를 위해 공백인지 확인하기 위해 수식을 사용하여 셀 값에 액세스하려고했습니다. 그렇다면 지오 코더를 실행하십시오. 하지만 지오 코딩 된 모든 셀을 공백으로 처리합니다.

여기 내 코드가 있습니다. getValue()를 올바르게 사용하고 있는지 (값이없는 경우 빈 문자열을 반환 함) 또는 내 셀에 수식이있는 경우 값을 비어 있지 않은지 확실하지 않습니다.

수식이있는 셀에서 빈 값을 테스트하려면 어떻게해야합니까?

function getLatLon(address) { 
    var sh = SpreadsheetApp.getActiveSpreadsheet(); 
    var cell = sh.getActiveCell(); 
    var value = cell.getValue(); 

    if (address == '') { 
    Logger.log("Must provide an address"); 
    return; 
    } 


    if (value == '') { 

    var geocoder = Maps.newGeocoder(); 
    var location; 
    location = geocoder.geocode(address); 
    Utilities.sleep(2000); 
// Only change cells if geocoder seems to have gotten a 
// valid response. 
    if (location.status == 'OK') { 
     lat = location["results"][0]["geometry"]["location"]["lat"]; 
     lng = location["results"][0]["geometry"]["location"]["lng"]; 
     return lat + "," + lng 

    } 
    } 
}; 

답변

0

지오 코딩 된 행을 다른 시트로 이동할 수 있습니다. 스크립트에 대해 항상 명확한 데이터를 유지하십시오.

+0

내가 그랬지만 복사 -> 붙여 넣기 값만 사용했다. 명확한 데이터의 의미입니까? 스크립트로 이것을 자동화하는 방법이 있습니까? – robroc