要获取多边形的ID,需要使用AmCharts4的getPolygonById方法。首先,在加载地图时,需要标识每个多边形的唯一ID属性。以下是一个示例GeoJSON文件中多边形的ID属性:
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"properties": {
"id": "1",
"name": "Polygon 1"
},
"geometry": {
"type": "Polygon",
"coordinates": [[
[-90, 30],
[-90, 60],
[-60, 60],
[-60, 30],
[-90, 30]
]]
}
},
{
"type": "Feature",
"properties": {
"id": "2",
"name": "Polygon 2"
},
"geometry": {
"type": "Polygon",
"coordinates": [[
[-60, 30],
[-60, 60],
[-30, 60],
[-30, 30],
[-60, 30]
]]
}
}
]
}
加载地图并标识ID属性后,可以使用以下代码获取具有指定ID的多边形:
// 获取地图实例
var chart = am4core.create("chartdiv", am4maps.MapChart);
// 加载地图数据
chart.geodata = {...GeoJSON...};
// 创建地图多边形系列
var polygonSeries = chart.series.push(new am4maps.MapPolygonSeries());
polygonSeries.useGeodata = true;
// 设置多边形ID字段
polygonSeries.dataFields.id = "id";
// 查找多边形
var polygon = polygonSeries.getPolygonById("1");
// 设置多边形属性
polygon.fill = am4core.color("red");
在上面的代码中,我们首先创建了一个地图实例,并加载了一个GeoJSON数据。接下来,我们创建了一个地图多边形系列,并将其