
n00ki3
Dada esta función, quiero reemplazar el color con un generador de color aleatorio.
document.overlay = GPolyline.fromEncoded({
color: "#0000FF",
weight: 10,
points: encoded_points,
zoomFactor: 32,
levels: encoded_levels,
numLevels: 4
});
¿Cómo puedo hacerlo?

ZPiDER
Dudo que algo sea más rápido o más corto que este:
"#" + ((1<<24)*Math.random() | 0).toString(16)
¡Desafío!

Mohsen
¿Quién puede vencerlo?
'#' + Math.random().toString(16).substr(-6);
Se garantiza que funcione todo el tiempo.: http://jsbin.com/OjELIfo/2/editar
Según el comentario de eterps, el código anterior aún puede generar cadenas más cortas si la representación hexadecimal del color aleatorio es muy corta (0.730224609375
=> 0.baf
).
Este código debería funcionar en todos los casos:
function makeRandomColor(){
var c="";
while (c.length < 7) {
c += (Math.random()).toString(16).substr(-6).substr(-1)
}
return '#' + c;
}

sierra dev
También puede usar HSL disponible en todos los buenos navegadores (http://caniuse.com/#feat=css3-colores)
function randomHsl() {
return 'hsla(' + (Math.random() * 360) + ', 100%, 50%, 1)';
}
Esto le dará solo colores brillantes, puede jugar con el brillo, la saturación y el alfa.
// es6
const randomHsl = () => `hsla(${Math.random() * 360}, 100%, 50%, 1)`

Pedro Mortensen
No hay necesidad de un hash de letras hexadecimales. JavaScript puede hacer esto por sí mismo:
function get_random_color() {
function c() {
var hex = Math.floor(Math.random()*256).toString(16);
return ("0"+String(hex)).substr(-2); // pad with zero
}
return "#"+c()+c()+c();
}