如何根据变量选择哪个图标?

时间:2014-01-13 22:24:20

标签: javascript leaflet

我的leaflet.js代码定义了各种图标:

var blueIcon = new largeIcon({iconUrl: 'blue.png'});
var redIcon = new largeIcon({iconUrl: 'red.png'});
var orangeIcon = new largeIcon({iconUrl: 'orange.png'});

以便我以后可以使用其中一个:

marker = new L.Marker(latlng, {icon: redIcon, draggable: true});

但是,我想根据从.js文件外部设置的变量选择图标:

var useIcon = 'blueIcon';

如何更改marker = ...行,以便创建useIcon定义的对象而不是硬编码redIcon?图标:期望对象而不是字符串。

1 个答案:

答案 0 :(得分:2)

不是声明单独的变量,而是将它们组合在一个对象中:(这有时称为字典)

var iconList = {
    blueIcon: new largeIcon({iconUrl: 'blue.png'}),
    redIcon: ...,
    ...
};

然后你可以选择你想要的那个:

marker = new L.Marker(latlng, {icon: iconList[useIcon], draggable: true});