我有一个国家列表,当他们被点击时,我试图在地图上突出显示它们-我遇到的问题是,当另一个国家被点击时,我想取消选择所有国家,只突出显示这一个。此刻,如果你点击另一个国家,他们只是保持选择,我假设我在使用clearselecteregions()时做错了什么;在下面。
或者我完全把整个事情复杂化了?
$('ul').on('click', 'a:first-child', function (event) {
var elem = event.target,
evtype = event.type,
cntrycode = findRegion(mapObj2.regions, $(elem).text());
if (evtype === 'click') {
mapObj2.clearSelectedRegions();
mapObj2.regions[cntrycode].element.setHovered(true);
}
});
http://jsfiddle.net/wWFG2/是的,你把整个事情复杂化了,只是将regionsSelectableOne选项设置为true,并使用setselectedreregions而不是sethoved,这与所选状态无关。参见更新后的fiddle:
if (evtype === 'click') {
mapObj2.clearSelectedRegions();
mapObj2.setSelectedRegions([cntrycode]);
}