am4maps如何在页面开始时设置状态或获取多边形?

时间:2020-03-11 14:59:37

标签: javascript am4maps

我想在地图上用颜色填充选择一些国家/地区的组。我为活动状态编写了代码:

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"));

但是它返回未定义的。

0 个答案:

没有答案