I need a bit of syntax help with a ternary operator which will help me to put the correct marker icons on to my good map.I have three areas 0,1 and 2 which have unique icons 0, 1 and 2.
I used to have just two areas so this ternary operator worked fine;
icon: (area == 1) ? icon1: icon0,
Now I need to add an additional third icon (icon2) for area2.
I've tried various methods but just can't seem to get it right.
The syntax would be:
icon: (area == 1) ? icon1 : (area == 2) ? icon2 : icon0,
But this is starting to get complicated. You may well be better off just creating a function to do this work instead:
icon: getIcon(area),
...
function getIcon(area) {
if (area == 1) {
return icon1;
} else if (area == 2) {
return icon2;
}
return icon0;
}
How about:
icon: [ icon0, icon1, icon2 ][area],
How about an object literal.
icons = {
0: icon0,
1: icon1,
2: icon2
}
icon = icons[area];
Very simple way
var test1 = false
var test2 = true
var test = test1 ? test1 : test2 ? test2 : 'some default value'
icon: (area == 0) ? icon0 : (area == 1) ? icon1 : icon2,