我有一个ul的国家/地区列表,点击它们时我试图在地图上突出显示它们 - 我遇到的问题是当点击另一个国家时我想取消选择所有国家/地区并且只突出显示这个国家/地区。目前,如果你点击另一个国家,他们只是保持选择,我认为我在使用clearSelectedRegions()时做错了;在下面。
或者我可能完全使整个过程复杂化了?
$('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);
}
});
答案 0 :(得分:4)
是的,你已经过度复杂了整个事情,只需将regionsSelectableOne选项设置为true并使用setSelectedRegions而不是setHovered,这与选择状态无关。查看更新的fiddle:
if (evtype === 'click') {
mapObj2.clearSelectedRegions();
mapObj2.setSelectedRegions([cntrycode]);
}