2014-01-13 53 views
0

我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 = ...行,以便它創建的對象定義b使用Icon而不是硬編碼redIcon? icon:期望一個對象而不是一個字符串。

+1

把你的對象中的圖標,然後使用括號表示法。 – elclanrs

回答

2

而是在物體宣佈獨立的變量,將它們組合起來的:(這有時也稱爲字典)

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

然後你就可以選擇要使用的一個:

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

謝謝...... ! – fooquency

相關問題