¿Hay una manera fácil de crear variables dinámicas con Javascript?

He creado un mapa de Google basado en datos con diferentes iconos que se asignan al mapa según el tipo de elemento ubicado. Entonces, si tengo 5 tipos de puntos de referencia, y cada uno tiene un ícono diferente (tienda, biblioteca, hospital, etc.), lo que me gustaría hacer es generar dinámicamente los objetos del ícono de Google. Estaba pensando en algo como esto:

types = array('hospital','church','library','store',etc);
var i=0;
while (i<=types.length) {

    var landmark + i = new google.maps.Icon();
    landmark.image = "icon" + i + ".png";
    i++;
    } 

Sin embargo, como probablemente haya adivinado, esto no funciona. También intenté usar eval, así:

while (i<=types.length) {
        doIcon(i);
        i++;
    }   

    function doIcon(i){ 
        eval("var landmark" + i + " = new.google.maps.Icon();");
        return eval("landmark" + i);
    }

pero tampoco funcionó: agradecería cualquier indicador sobre la generación dinámica de variables de JavaScript. Tiene que ser js puro, podría hacerlo en PHP, pero esa no es una opción aquí.

¡Gracias!

Respuestas a la pregunta(5)

Su respuesta a la pregunta