const SheetId = "XXXXXXXXXX";
const SheetName = "data";
let data;
let row;
function kml_make() {
sheet = SpreadsheetApp.openById(SheetId).getSheetByName(SheetName);
row = sheet.getLastRow();
let range = sheet.getRange(2, 1, row, 7);
data = range.getValues();
let output = HtmlService.createTemplateFromFile("doc");
let result = output.evaluate();
let kml = '<?xml version="1.0" encoding="UTF-8"?>' + "\n" + result.getContent();
console.log(kml);
const folder = DriveApp.getFolderById("YYYYYYYYYY");
const files = folder.getFiles();
const fpath = folder.getName();
const blobs = [];
while (files.hasNext()) {
let file = files.next().getBlob();
let fname = file.getName();
blobs.push(file.setName(fpath + "/" + fname));
}
let kmlBlob = Utilities.newBlob(kml, "application/xml", "doc.kml");
blobs.push(kmlBlob);
let zipBlob = Utilities.zip(blobs, "imabari.kmz");
DriveApp.createFile(zipBlob);
}
function getRowData(rowNum) {
return data[rowNum];
}
function getLastRow() {
return row;
}
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>楽天モバイル</name>
<description />
<Style id="open-icon-normal">
<IconStyle><color>FFFFFFFF</color><scale>1</scale><Icon><href>images/open.png</href></Icon></IconStyle>
</Style>
<Style id="open-icon-highlight">
<IconStyle><color>FFFFFFFF</color><scale>1</scale><Icon><href>images/open.png</href></Icon></IconStyle>
</Style>
<Style id="ready-icon-normal">
<IconStyle><color>FFFFFFFF</color><scale>1</scale><Icon><href>images/ready.png</href></Icon></IconStyle>
</Style>
<Style id="ready-icon-highlight">
<IconStyle><color>FFFFFFFF</color><scale>1</scale><Icon><href>images/ready.png</href></Icon></IconStyle>
</Style>
<Style id="close-icon-normal">
<IconStyle><color>FFFFFFFF</color><scale>1</scale><Icon><href>images/close.png</href></Icon></IconStyle>
</Style>
<Style id="close-icon-highlight">
<IconStyle><color>FFFFFFFF</color><scale>1</scale><Icon><href>images/close.png</href></Icon></IconStyle>
</Style>
<StyleMap id="open-icon">
<Pair>
<key>normal</key>
<styleUrl>#open-icon-normal</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#open-icon-highlight</styleUrl>
</Pair>
</StyleMap>
<StyleMap id="close-icon">
<Pair>
<key>normal</key>
<styleUrl>#close-icon-normal</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#close-icon-highlight</styleUrl>
</Pair>
</StyleMap>
<StyleMap id="ready-icon">
<Pair>
<key>normal</key>
<styleUrl>#ready-icon-normal</styleUrl>
</Pair>
<Pair>
<key>highlight</key>
<styleUrl>#ready-icon-highlight</styleUrl>
</Pair>
</StyleMap>
<Folder>
<name>ehime</name>
<?
let n = getLastRow();
for(var i=0;i<n;i++) {
if(!getRowData(i)[0]) continue;
?>
<Placemark>
<name><?= getRowData(i)[1] ?></name>
<? if(getRowData(i)[5] != "") { ?>
<description>eNB-LCID: <?= getRowData(i)[5] ?></description>
<? }else { ?>
<description />
<? } ?>
<? if(getRowData(i)[4] == "開局") { ?>
<styleUrl>#open-icon</styleUrl>
<? }else if(getRowData(i)[4] == "未開局") { ?>
<styleUrl>#ready-icon</styleUrl>
<? }else { ?>
<styleUrl>#close-icon</styleUrl>
<? } ?>
<Point>
<coordinates><?= getRowData(i)[3] ?>,<?= getRowData(i)[2] ?>,0</coordinates>
</Point>
</Placemark>
<? } ?>
</Folder>
</Document>
</kml>