我想在地图上用颜色填充选择一些国家/地区的组。我为活动状态编写了代码:
let map = am4core.create("chardiv", am4maps.MapChart);
map.geodata = am4geodata_worldHigh;
map.projection = new am4maps.projections.Miller();
let mapPolygonSeries = new am4maps.MapPolygonSeries();
map.series.push(mapPolygonSeries);
mapPolygonSeries.exclude = ['AQ'];
mapPolygonSeries.useGeodata = true;
let mapTemplate = mapPolygonSeries.mapPolygons.template;
mapTemplate.fill = am4core.color("#a2a2a2");
let hoverStates = mapTemplate.states.create("hover");
hoverStates.properties.fill = am4core.color("#828282");
let activeStates = mapTemplate.states.create("active");
activeStates.properties.fill = am4core.color("#23D55F");
let hoverActiveStates = mapTemplate.states.create("hoverActive");
hoverActiveStates.properties.fill = am4core.color("#008b2f");
mapTemplate.events.on("hit", function (ev) {
ev.target.isActive = !ev.target.isActive;
})
除了“活动”外,我还添加了自己的状态,效果也很好。但是,如果我希望在页面启动时选择一些组怎么办?
例如,我要为俄罗斯和中国设置“有效”。如何不单击就选择它们?我需要类似getPolygonById
的东西,但我不知道它是如何工作的。我尝试通过这种方式获取元素:
console.log(mapPolygonSeries.getPolygonById("RU"));
但是它返回未定义的。