我已经构建了一个数据驱动的谷歌地图,其中包含不同的图标,这些图标根据所定位的项目类型分配给地图。因此,如果我有 5 种类型的地标,并且每种都有不同的图标(商店、图书馆、医院等)——我想做的是动态生成 google 图标对象。我在想这样的事情:
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++;
}
但是,正如您可能已经猜到的那样,这是行不通的。我也尝试过使用 eval,如下所示:
while (i<=types.length) {
doIcon(i);
i++;
}
function doIcon(i){
eval("var landmark" + i + " = new.google.maps.Icon();");
return eval("landmark" + i);
}
但它也不起作用——我很感激任何关于动态生成 javascript 变量的指针。它必须是纯 js,我可以在 PHP 中完成,但这不是一个选项。
谢谢!