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