Javascript amcharts4动态定位标记

Javascript amcharts4动态定位标记,javascript,dictionary,dynamic,amcharts,amcharts4,Javascript,Dictionary,Dynamic,Amcharts,Amcharts4,我需要在单击按钮时添加位置标记。我尝试了imageSeries.data.push、addData、init和其他方法,但当我移动图表时(mappositionchanged)会触发位置更新。 我需要让它自动工作,而不移动或缩放图表 我使用的是amcharts版本4 功能测试(){ imageSeries.addData({ “zoomLevel”:5, “比例”:0.5, “标题”:“比勒陀利亚”, “纬度”:-25.7463, “经度”:28.1876 }); 警报(imageSeries.

我需要在单击按钮时添加位置标记。我尝试了
imageSeries.data.push
addData
init
和其他方法,但当我移动图表时(
mappositionchanged
)会触发位置更新。 我需要让它自动工作,而不移动或缩放图表

我使用的是amcharts版本4

功能测试(){
imageSeries.addData({
“zoomLevel”:5,
“比例”:0.5,
“标题”:“比勒陀利亚”,
“纬度”:-25.7463,
“经度”:28.1876
});
警报(imageSeries.data);
}
点击

我无法复制这样的行为,即通过its将数据动态添加到
MapImageSeries
需要刷新图表(为了它的价值,请用户在那里解决它)
imageSeries.addData(…)
应该可以正常工作

设置代码:

//创建映射实例
var chart=am4core.create(“chartdiv”,am4maps.MapChart);
//设置地图定义
chart.geodata=am4geodata\u worldLow;
//创建地图多边形系列
var polygonSeries=chart.series.push(新的am4maps.mappygonseries());
//使地图从GeoJSON加载多边形(如国家名称)数据
polygoseries.useGeodata=true;
//创建图像系列
var imageSeries=chart.series.push(新的am4maps.MapImageSeries());
//在图像系列模板中创建一个圆形图像,以便将其复制到所有新图像中
var imageSeriesTemplate=imageSeries.mapImages.template;
var circle=imageSeriesTemplate.createChild(am4core.circle);
圆半径=4;
circle.fill=am4core.color(#B27799”);
circle.stroke=am4core.color(“#FFFFFF”);
圆圈。冲程宽度=2;
circle.nonScaling=true;
circle.tooltipText=“{title}”;
//设置属性字段
imageSeriesTemplate.propertyFields.latitude=“纬度”;
imageSeriesTemplate.propertyFields.longitude=“经度”;
测试代码(
addPlace
method):

//为三个城市添加数据
风险值数据=[{
“纬度”:48.856614,
“经度”:2.352222,
“标题”:“巴黎”,
zoomLevel:1
}, {
“纬度”:40.712775,
“经度”:-74.005973,
“标题”:“纽约”,
zoomLevel:2
}, {
“纬度”:49.282729,
“经度”:-123.120738,
“标题”:“温哥华”,
zoomLevel:4
}];
const dataIterator=data[Symbol.iterator]();
函数addPlace(){
var item=dataIterator.next();
如果(!item.done){
imageSeries.addData(项值);
}
}
下面是一个快速演示:


“添加标记”按钮每次添加一个标记(最多3次,因为数组中只有3个项目),而无需刷新图表(通过
invalidate
或其他方式)。

此处
数据
没有
id
。然后可以使用
getPolygonById
来缩放对象。这里的ulternate用于
getPolygonById