2017-02-04 11 views
0

Ich versuche, die Farbe der Kartenmarkierung in einem Google Apps-Skriptprojekt dynamisch zu ändern. Der folgende Code ist in einer Schleife, die alle Punkte in meinem Google Blatt auf die Karte auf der Grundlage ihre Koordinaten ergänzt ich die Farbe von diesem Blatt am Abrufen Wenn ich meine Farbe manuell einstellen das Skript funktioniert gutGoogle Apps Script Dynamische Kartenpunktfarbe

 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]); 

jedoch wenn ich eine Variable, die als die Farbe definiert wurden

//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]); 

erhalte ich ein „Invalid argument: Farbe (Linie 230, Datei‚Daily Report‘)“ Fehler, und es zeigt die Farbe variabel wie bei der Ausführung nicht definiert Transkript beim Lauf.

Was habe ich falsch gemacht? Ich bin neu im Google Apps-Skript und der Programmierung im Allgemeinen. Daher bin ich ziemlich sicher, dass ich etwas falsch mache, wenn ich versuche, meine Farbvariable zu referenzieren, wenn ich die Farbe für Maps einstelle.

Antwort

0

Wenn getippt wie, dass die Enum sucht eine Eigenschaft namens „rowcolor“ für Maps.StaticMap.Color die nicht

existiert Wenn Sie Farbe auf der Tabelle bestimmen wollen, RGB-Werte als verwenden Zeichenkette im Format "0xrrggbb"

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'); 
Verwandte Themen