Я хотел бы перебрать список адресов, которые у меня есть в электронной таблице, и сохранить их в виде изображений на моем диске. В идеале я хотел бы сохранить их в разных папках в зависимости от значения во втором столбце, но это будет следующим шагом.
В моем первом коде я могу сохранить изображение с одного адреса в одной строке в своей электронной таблице, назвав диапазон как переменную, а затем сохранив переменную как большой двоичный объект.
function savemap() {
var sheet = SpreadsheetApp.getActiveSheet();
var addresses = sheet.getRange(1,1,13,1).getValues()
var address = sheet.getRange(4,1).getValue()
var map = Maps.newStaticMap().setMapType(Maps.StaticMap.Type.SATELLITE).setCenter(address).setZoom(20).getBlob()
DriveApp.createFile(map)
}
Однако во втором коде, когда я перебираю адреса, я не уверен, как атрибутировать большой двоичный объект для каждого адреса.
function save_adresses() {
var sheet = SpreadsheetApp.getActiveSheet();
var addresses = sheet.getRange(1,1,13,1).getValues()
for (var i = 0; i <= 8; i = i + 1) {
Maps.newStaticMap()
.setMapType(Maps.StaticMap.Type.SATELLITE)
.setCenter(addresses[i])
.setZoom(19)
.getBlob()
.DriveApp.createFile(addresses[i])
.getAs('image/png')
}
}
Я получаю следующую ошибку:
TypeError: Невозможно прочитать свойство createFile неопределенного save_addresses @ практика2.gs:13
Любая идея о том, как я могу сохранить каждую каплю в формате png? Я уверен, что это что-то очевидное, но я был бы очень признателен за обратную связь!
Большое спасибо.
Вы пробовали что-то более похожее на ваш уже работающий первый код, но между циклом for?
for (var i = 0; i <= 8; i = i + 1) {
var map = Maps.newStaticMap()
.setMapType(Maps.StaticMap.Type.SATELLITE)
.setCenter(addresses[i])
.setZoom(20)
.getBlob()
DriveApp.createFile(map)
}
И вы получаете диапазон из 13 строк, но повторяете только 9 раз. Вы можете изменить заголовок цикла for:
for (var i = 0; i < addresses.length; i = i + 1) {
Спасибо! Я сделал оба изменения, и это работало намного лучше :)