我使用AMChart地图,并尝试在地图线上附加标签。有文档,但是我不在同一上下文中:我必须实时更新线曲线,所以我在am4maps.MapLineSeries上使用data属性。
this.lineSeries = this.chart.series.push(new am4maps.MapLineSeries());
let lineTemplate = lineSeries.mapLines.template;
lineTemplate.stroke =color;
lineTemplate.strokeDasharray ="3";
当用户单击按钮时,我在这些位置之间添加位置和行:
this.lineSeries =[multiGeoLine...]
它工作正常。
所以在这里,我没有对 lineObjects 参考的引用,如文档中所示
首先尝试: 我试图像在文档上那样做,但是它使用了multiGeoLine属性。如果我更新multiGeoLine,则行不会更新:
var line = lineSeries.mapLines.create();
line.multiGeoLine = [[
{ "latitude": 48.856614, "longitude": 2.352222 },
{ "latitude": 40.712775, "longitude": -74.005973 },
{ "latitude": 49.282729, "longitude": -123.120738 }
]];
用户单击时:
line.multiGeoLine =[]
什么都没发生。
第二次尝试 定义线系列模板时,我尝试添加项目符号。
this.lineSeries = this.chart.series.push(new am4maps.MapLineSeries());
let lineTemplate = lineSeries.mapLines.template;
lineTemplate.stroke =color;
lineTemplate.strokeDasharray ="3";
var line = lineSeries.mapLines.create();
// Add a map object to line
var bullet = line.lineObjects.create();
bullet.nonScaling = true;
bullet.position = 0.5;
bullet.width = 15;
bullet.height = 15;
bullet.horizontalCenter = "middle";
bullet.verticalCenter = "middle";
var rect = bullet.createChild(am4core.Rectangle);
rect.width = 15;
rect.height = 15;
rect.fill = am4core.color("#fff");
rect.strokeWidth = 3;
rect.stroke = am4core.color("#e03e96");
是否可以通过在我的脑海中使用data属性来实时更新地图上的直线并在曲线上放置标签?