Advanced API - procure map entities
Advanced API - procure map entities
by Shamasis Bhattacharya
HTML
<script src="http://static.fusioncharts.com/code/latest/fusioncharts.js"></script>
<script src="http://static.fusioncharts.com/code/latest/fusioncharts.charts.js"></script>
<div id="chart-container">FusionCharts will render here</div>
<button id="get-button">Get Entity ID</button>
<!--
Get entities from map
-->
JavaScript
/**
* Add functionality to procure the map
*/
FusionCharts.prototype.getMapEntityList = function () {
if (!(this.jsVars.hcObj &&
this.jsVars.hcObj.entities)) {
return;
}
var entities = [],
sourceEntities = this.jsVars.hcObj.entities,
prop;
for (prop in sourceEntities) {
entities.push({
label: sourceEntities[prop].label,
shortLabel: sourceEntities[prop].shortLabel,
id: prop,
originalId: sourceEntities[prop].origId
});
}
return entities;
};
// Render a chart.
FusionCharts.ready(function () {
var map = new FusionCharts({
type: 'maps/world',
renderAt: 'chart-container',
id: 'worldmap'
}).render();
});
// Add code to fetch entities on a button click
(function () {
var button = document.getElementById('get-button');
button.onclick = function () {
alert(JSON.stringify(FusionCharts.items.worldmap
.getMapEntityList(), 0, 2));
};
}());