Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在地图中的圆上设置不同的颜色_Javascript_Angular_Typescript_Amcharts - Fatal编程技术网

Javascript 如何在地图中的圆上设置不同的颜色

Javascript 如何在地图中的圆上设置不同的颜色,javascript,angular,typescript,amcharts,Javascript,Angular,Typescript,Amcharts,我在amchartsplugin中实现了一个地图,并在我有服务器的地方画了一个圆圈 我想根据业务需求,根据可用性在服务器上显示不同的颜色绿色、黄色和红色。我已经在首选位置实现了圆圈,并且我只能指定一种颜色 这是我的密码 public ServerMap() { this.mapChart = am4core.create("chartdiv", am4maps.MapChart); this.mapChart .geodata = am4geodata_wor

我在
amcharts
plugin
中实现了一个地图,并在我有服务器的地方画了一个圆圈

我想根据业务需求,根据可用性在服务器上显示不同的颜色
绿色
黄色
红色
。我已经在首选位置实现了圆圈,并且我只能指定一种
颜色

这是我的密码

public ServerMap()
{
    this.mapChart = am4core.create("chartdiv", am4maps.MapChart);
    this.mapChart .geodata = am4geodata_worldLow;

    //Set projection
    this.mapChart .projection = new am4maps.projections.Miller();
    //Create map polygon series
    this.polygonSeries = this.mapChart .series.push(new am4maps.MapPolygonSeries());
    this.polygonSeries.exclude = ["AQ"];
    this.polygonSeries.useGeodata = true;
    this.polygonSeries.nonScalingStroke = true;
    this.polygonSeries.calculateVisualCenter = true;

    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=
    [
    {
        "latitude": 17.3850,
        "longitude": 78.4867,
        "name": "Miam",
        "value": 123,    
      },
    {
        "latitude":49.619446,
        "longitude": -128.695623,
        "name": "Washingto DC",
        "value": 123,
    },
    {
        "latitude": 41.8278767,
        "longitude": -87.9986114,
        "name": "Chicago",
        "value": 123,
    }  
    ]

    //Here creating circle
    var circle = place.createChild(am4core.Circle);
    circle.radius = 12;
    circle.fill = am4core.color("#e33");
    circle.strokeWidth = 1;
    circle.fillOpacity = 0.7;
    circle.propertyFields.fill = "color";
    circle.tooltipText = "{name}: [bold]{value}[/]";

    imageSeries.heatRules.push({
      "target": circle,
      "property": "radius",
      "min": 6,
      "max": 15,
      "dataField": "value",
      })
}
如何根据条件在圆上设置单个颜色

这是我的输出屏幕

您已经定义了“circle.propertyFields.fill=“color”;”

在数据中包含“颜色”属性应该是可行的

imageSeries.data=
    [
    {
        "latitude": 17.3850,
        "longitude": 78.4867,
        "name": "Miam",
        "value": 123,    
        "color": 'red' // or rgb() or Hexa
      },
      {
         "latitude":49.619446,
         "longitude": -128.695623,
         "name": "Washingto DC",
         "value": 123,
         "color": 'blue'
       },

非常感谢。是否可以根据
if-else
条件更改颜色?