我正在尝试动态更改Google Apps脚本项目中地图标记的颜色。以下代码在一个循环中,根据坐标将我的google工作表中的所有点添加到地图中,我正在从该工作表中检索颜色如果我手动设置我的颜色,则脚本工作正常
for (var row = 0; row < (endRow-1); row++) {
map.setMarkerStyle(Maps.StaticMap.MarkerSize.TINY, Maps.StaticMap.Color.BLUE, 'T');
map.addMarker(reportData[row][5], reportData[row][6]);
然而,当我使用已被定义为颜色的变量
时 //Removes the first portion of the color icon name used for Fusion Tables
var rowColor = reportData[row][16].slice(6).toUpperCase();
map.setMarkerStyle(Maps.StaticMap.MarkerSize.TINY, Maps.StaticMap.Color.rowColor, 'T');
map.addMarker(reportData[row][5], reportData[row][6]);
我得到一个“无效的参数:颜色(第230行,文件”每日报告“)”错误,它在运行时显示执行记录中未定义的颜色变量。
我做错了什么?我是谷歌应用程序脚本和编程的新手,所以我很确定我在为地图设置颜色时尝试引用我的颜色变量的方式有问题。
答案 0 :(得分:0)
当输入类似于Enum正在寻找名为&#34; rowColor&#34;对于不存在的Maps.StaticMap.Color
如果要根据电子表格确定颜色,请使用rgb值作为字符串,格式为&#34; 0xrrggbb&#34;
var hexColor = "0x000000"
var rowColor = reportData[row][16].slice(6).toUpperCase();
if (rowColor == 'BLUE'){
var hexColor = "0x0000FF"
}
map.setMarkerStyle(Maps.StaticMap.MarkerSize.TINY, hexColor, 'T');