如何解决如何将groupby数据绑定到amcharts地图
将数据绑定到map
时遇到问题。
我以前是如何绑定数据的。我有JSON
数据作为记录格式
{
"latitude":39.7645187,"longitude": -104.9951976,"name": "ORCL","value":32,"activeProducts":"127",},{
"latitude":49.619446,"longitude": -128.695623,"name": "RCXC","value":72,"activeProducts":"789",
根据以上数据,我直接使用lat
,long
在map
上显示圆圈。 name
的{{1}},value
和activeProducts
。
现在我已经根据tooltip
字段对数据进行了分组,这些字段是在使用name
reduce
clause
每个单个CDFN: (26) [{…},{…},{…}
HCDR: (33) [{…},{…}
HVBL: (87) [{…},{…}
PCMD: (16) [{…},{…}
的数据都与group
,lat
,long
类似。 name
(在第一个JSON数据中显示)是每个组记录(value
)的计数。扩展后的数据看起来像这样
CDFN: (26)
现在我的问题
- 从上述
{ "latitude":39.7645187,"name": "CDFN","totalproducts":"140" },"name": "HCDR","totalproducts":"810" },
,CDFN
,HCDR
组开始,如何获取一条记录的HVBL
和let
只绑定到{{1} }。
这是我当前正在使用的代码
long
下面几行对于我绑定数据很重要
map
我尝试这样做,但是在地图上什么也没显示
public productsLocMap()
{
this.mapChart = am4core.create("stationsMap",am4maps.MapChart);
this.mapChart .geodata = am4geodata_worldLow;
this.mapChart .projection = new am4maps.projections.Miller();
this.polygonSeries = this.mapChart .series.push(new am4maps.MapPolygonSeries());
this.polygonSeries.useGeodata = true;
this.polygonSeries.strokeWidth = 0.5;
let imageSeries = this.mapChart .series.push(new am4maps.MapImageSeries());
imageSeries.dataFields.value = "value";
var place = imageSeries.mapImages.template;
place.nonScaling = true;
place.propertyFields.latitude = "latitude";
place.propertyFields.longitude = "longitude";
imageSeries.data=Stations.Stations;
var circle = place.createChild(am4core.Circle);
circle.fillOpacity = 0.7;
circle.propertyFields.fill = "color";
circle.tooltipText = "[bold]{name}:[/]\nCompliance Devices: {activeDevices}\nTotal devices:{totalDevice}";
place.events.on("hit",(ev)=>{
console.log(ev.target.dataItem.dataContext.title)
})
imageSeries.heatRules.push({
"target": circle,"property": "radius","max": 15,"dataField": "value",})
}
解决方法
AmCharts需要series或chart object中data属性的数组,而不是指向数组的对象/映射。您需要直接为其分配一个数组。您可以创建多个图像系列并为每个图像分配一个组,例如
series1.data = group.CDFN;
// ...
series2.data = group.HCDR;
// ...
// etc
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。