J'ai travaillé sur une carte similaire à this example où plusieurs pays peuvent être sélectionnés en même temps. J'ai ajouté ceci à la carte du monde, mais je voulais le changer de façon à ce qu'une fois cliqué une fois, le pays devienne bleu, cliqué deux fois, le pays deviendrait rouge, et une fois cliqué une troisième fois, il deviendrait non sélectionné. Avec ce que j'ai actuellement en train de travailler, lorsqu'un pays est cliqué deux fois, il n'apparaît rouge qu'après avoir traversé un autre pays. Est-ce que je ne règle pas correctement la couleur sélectionnée? J'ai examiné la documentation et d'autres exemples, mais je n'ai pas été en mesure de trouver une solution. Toute aide est grandement appréciée. Voici ce que j'ai jusqu'ici.Activer/désactiver la couleur de la zone sélectionnée Cliquer sur amMap
var map = AmCharts.makeChart("chartdiv", {
"type": "map",
"theme": "light",
"projection": "miller",
"dataProvider": {
"map": "worldLow",
"getAreasFromMap": true
},
"areasSettings": {
"autoZoom": false,
"color": "#CDCDCD",
"selectedColor": "#5EB7DE",
"selectable": true
},
"listeners": [{
"event": "clickMapObject",
"method": function(event) {
// deselect the area by assigning all of the dataProvider as selected object
map.selectedObject = map.dataProvider;
if (event.mapObject.showAsSelected == false || typeof event.mapObject.showAsSelected == 'undefined') {
event.mapObject.showAsSelected = true;
} else if (event.mapObject.showAsSelected == true && event.mapObject.selectedColorReal == "#5EB7DE") {
event.mapObject.selectedColorReal = "#CC0000";
} else {
event.mapObject.showAsSelected = false;
event.mapObject.selectedColorReal = "#5EB7DE"
map.returnInitialColor(event.mapObject);
}
}
}],
"export": {
"enabled": true,
"position": "bottom-right"
}
});
#chartdiv {
width: 100%;
height: 500px;
}
<script src="https://www.amcharts.com/lib/3/ammap.js"></script>
<script src="https://www.amcharts.com/lib/3/maps/js/worldLow.js"></script>
<script src="https://www.amcharts.com/lib/3/themes/light.js"></script>
<script src="https://www.amcharts.com/lib/3/plugins/export/export.min.js"></script>
<link rel="stylesheet" href="https://www.amcharts.com/lib/3/plugins/export/export.css" type="text/css" media="all" />
<div id="chartdiv"></div>