am4maps Как установить состояние при запуске страницы или получить полигон? - PullRequest
0 голосов
/ 11 марта 2020

Я хочу выбрать несколько групп стран на карте с цветным заполнением. Я пишу код для активного состояния:

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

Но он возвращает неопределенное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...