Javascript amcharts4使用多边形属性获取要链接到URL的地图元素

Javascript amcharts4使用多边形属性获取要链接到URL的地图元素,javascript,amcharts,amcharts4,Javascript,Amcharts,Amcharts4,以下while call core.js、maps.js、animated.js和上下文countryLow.js文件将使用区域或次级行政区的多边形渲染地图: var chart = am4core.create("chartdiv", am4maps.MapChart); chart.geodata = am4geodata_franceLow; chart.projection = new am4maps.projections.Miller(); var polygonSeries =

以下while call core.js、maps.js、animated.js和上下文countryLow.js文件将使用区域或次级行政区的多边形渲染地图:

var chart = am4core.create("chartdiv", am4maps.MapChart);
chart.geodata = am4geodata_franceLow;
chart.projection = new am4maps.projections.Miller();

var polygonSeries = chart.series.push(new am4maps.MapPolygonSeries());
polygonSeries.useGeodata = true;
polygonSeries.applyOnClones = true;
polygonSeries.fill = am4core.color("#a791b4");
polygonSeries.fillOpacity = 0.8; 
polygonSeries.strokeOpacity = 0.3;

var regionTemplate = polygonSeries.mapPolygons.template;
regionTemplate.tooltipText = "{name}";
regionTemplate.properties.fillOpacity = 0.8; 
regionTemplate.propertyFields.fill = "color";
regionTemplate.propertyFields.url = "url";
regionTemplate.columns.template.url = "http://localhost:3000/go/cities?region_id={properties.id()}"

工具提示显示时,如何在将多边形的ID值作为参数传递给URL时使多边形可单击?

您可以使用适配器修改原始URL,如:

regionTemplate.url = "http://www.amcharts.com/";
regionTemplate.adapter.add("url", (url, target)=>{
   return url + "?id=" + target.dataItem.dataContext.id;
})

您可以使用适配器修改原始url,如:

regionTemplate.url = "http://www.amcharts.com/";
regionTemplate.adapter.add("url", (url, target)=>{
   return url + "?id=" + target.dataItem.dataContext.id;
})

只要用Javascript而不是typescript编写zeroin代码,就不会出现错误

regionTemplate.url = "http://www.amcharts.com/";
regionTemplate.adapter.add("url", function(url, target) { return url + "?id=" + target.dataItem.dataContext.id; }):

只要用Javascript而不是typescript编写zeroin代码,就不会出现错误

regionTemplate.url = "http://www.amcharts.com/";
regionTemplate.adapter.add("url", function(url, target) { return url + "?id=" + target.dataItem.dataContext.id; }):
例如:

regionTemplate.url=http://localhost:3000/go/cities?region_id={id.urlEncode} 演示:

例如:

regionTemplate.url=http://localhost:3000/go/cities?region_id={id.urlEncode} 演示:


scirpt没有为火箭后目标编译'SyntaxError:Unexpected token:operator>'。虽然它确实执行@Jerome该函数是用ES6编写的,它是一个或=>胖箭头。除了IE。我不确定你所说的脚本是什么意思,但浏览器可能支持它,但是javascripts的编译过程——我相信rails gem uglifier——不会消化它。你的答案和“卢卡的答案”都通过了测试。@Jerome啊,好吧,这就是我要找的。谢谢你的澄清。现在我们看到的只是网页包、汇总等环境,这些环境通过某种方式将设置传递给Babel,以便迷你们可以处理。因此,很高兴看到不同的设置以及在插入一点ES6时会出现什么样的错误。scirpt不会为火箭后目标编译“SyntaxError:Unexpected token:operator>”。虽然它确实执行@Jerome该函数是用ES6编写的,它是一个或=>胖箭头。除了IE。我不确定你所说的脚本是什么意思,但浏览器可能支持它,但是javascripts的编译过程——我相信rails gem uglifier——不会消化它。你的答案和“卢卡的答案”都通过了测试。@Jerome啊,好吧,这就是我要找的。谢谢你的澄清。现在我们看到的只是网页包、汇总等环境,这些环境通过某种方式将设置传递给Babel,以便迷你们可以处理。因此,很高兴看到不同的设置,以及在插入一点ES6时会出现什么样的错误。