Hallo,
leider falsch vermutet. Hatte ich auch schon prbiert.
Dann sind deine Anforderungen andere, als ich annahm.
In der Variable bild steht entweder der String "baseIcon" oder der String "baseIcon2"? Und in der Icon-Eigenschaft soll letztlich der Wert der gleichnamigen Variablen stehen, also eines der beiden GIcon-Objekte?
Dann ist deine Frage eher, wie du von einem String mit einem Variablenname zum Wert dieser Variable kommst.
Dann solltest du baseIcon und baseIcon2 entweder an einem Objekt speichern, dann kannst du folgendes schreiben:
var marker = {};
marker.baseIcon = new GIcon();
...
marker.baseIcon2 = new GIcon();
...
var markerName = "baseIcon"; // oder halt baseIcon2 - analog zu deiner Variable bild
alert( "GIcon mit dem Namen " + markerName + ":\n" + marker[markerName] );
Also dann { icon : marker[markerName] }
Oder du arbeitest mit eval():
{ icon : eval(markerName) }
Dazu muss es sich um eine lokale Variable (in derselben Funktion) oder um eine globale Variable handeln. (Im letzteren Fall könnte man aber einfach window[markerName] schreiben, nach dem obigen Schema.)
Mathias