- <!DOCTYPE html>
- <html>
-
- <head>
- <meta charset="utf-8">
- <title>ZingSoft Demo</title>
-
- <script nonce="undefined" src="https://cdn.zingchart.com/zingchart.min.js"></script>
- <style></style>
- </head>
-
- <body>
- <div id='myChart'></div>
- <script>
- ZC.LICENSE = ["569d52cefae586f634c54f86dc99e6a9", "b55b025e438fa8a98e32482b5f768ff5"]; // must load maps and first map we are going to render
- zingchart.loadModules('maps,maps-world-countries');
-
- // initial config for first chart
- var myConfig = {
- shapes: [{
- type: 'zingchart.maps',
- options: {
- name: 'world.countries',
- style: { //stlye all countries
- controls: {
- placement: 'bl'
- },
- backgroundColor: '#cccccc',
- label: {
- visible: false
- },
- hoverState: {
- alpha: .32,
- },
- items: { //include specific shape regions with unique styles
- USA: {
- backgroundColor: '#0D47A1',
- cursor: 'pointer',
- label: {
- visible: true,
- fontColor: '#ffffff'
- },
- tooltip: {
- text: 'Click on USA to drilldown into states'
- }
- },
- BRA: {
- backgroundColor: '#4CAF50',
- cursor: 'pointer',
- label: {
- visible: true,
- fontColor: '#ffffff'
- },
- tooltip: {
- text: 'Click on Brazil to drilldown into states'
- }
- },
- IND: {
- backgroundColor: '#FF6F00',
- cursor: 'pointer',
- label: {
- visible: true,
- fontColor: '#ffffff'
- },
- tooltip: {
- text: 'Click on India to drilldown into states'
- }
- }
-
- }
- }
- }
- }]
- };
-
- zingchart.render({
- id: 'myChart',
- data: myConfig,
- height: 400,
- width: '100%'
- });
-
- //drilldown chart configuration
- var drilldownConfig = {
- shapes: [{
- type: 'zingchart.maps',
- options: {
- name: '',
- style: {
- controls: {
- placement: 'bl'
- }
- }
- }
- },
- {
- x: 100,
- y: 20,
- type: 'rectangle',
- height: 25,
- width: 155,
- backgroundColor: '#C4C4C4',
- padding: 5,
- cursor: 'hand',
- id: 'back_button',
- label: {
- text: 'Back To World Countries'
- },
- hoverState: {
- borderWidth: 1,
- borderColor: '#000'
- }
- }
- ]
- };
-
- // for maps that exist in our library. Pre-load them later on
- zingchart.loadModules('maps-usa, maps-bra, maps-ind');
- zingchart.bind('myChart', 'shape_click', function(e) {
- var newMapId = String(e.shapeid).toLowerCase();
-
- // if shape is our back button and not the map
- if (newMapId == 'back_button') {
- console.log('here')
- // since we are using setdata, reload will reload the original chartJSON
- zingchart.exec('myChart', 'reload');
- return;
- }
-
- if (hasDrilldownData(newMapId)) {
- drilldownConfig.shapes[0].options.name = newMapId;
- zingchart.exec('myChart', 'setdata', {
- data: drilldownConfig
- });
- }
- });
-
- // used in the shape_click event to determine if we should drilldown
- function hasDrilldownData(newMapId) {
- var drillDownCountries = ['usa', 'bra', 'ind'];
- for (var i = 0; i < drillDownCountries.length; i++) {
- if (newMapId === drillDownCountries[i])
- return true;
- }
-
- return false;
- }
- </script>
- </body>
-
- </html>
- <!DOCTYPE html>
- <html>
-
- <head>
- <meta charset="utf-8">
- <title>ZingSoft Demo</title>
-
- <script src="https://cdn.zingchart.com/zingchart.min.js"></script>
- </head>
-
- <body>
- <div id='myChart'></div>
- </body>
-
- </html>
- // must load maps and first map we are going to render
- zingchart.loadModules('maps,maps-world-countries');
-
- // initial config for first chart
- var myConfig = {
- shapes: [{
- type: 'zingchart.maps',
- options: {
- name: 'world.countries',
- style: { //stlye all countries
- controls: {
- placement: 'bl'
- },
- backgroundColor: '#cccccc',
- label: {
- visible: false
- },
- hoverState: {
- alpha: .32,
- },
- items: { //include specific shape regions with unique styles
- USA: {
- backgroundColor: '#0D47A1',
- cursor: 'pointer',
- label: {
- visible: true,
- fontColor: '#ffffff'
- },
- tooltip: {
- text: 'Click on USA to drilldown into states'
- }
- },
- BRA: {
- backgroundColor: '#4CAF50',
- cursor: 'pointer',
- label: {
- visible: true,
- fontColor: '#ffffff'
- },
- tooltip: {
- text: 'Click on Brazil to drilldown into states'
- }
- },
- IND: {
- backgroundColor: '#FF6F00',
- cursor: 'pointer',
- label: {
- visible: true,
- fontColor: '#ffffff'
- },
- tooltip: {
- text: 'Click on India to drilldown into states'
- }
- }
-
- }
- }
- }
- }]
- };
-
- zingchart.render({
- id: 'myChart',
- data: myConfig,
- height: 400,
- width: '100%'
- });
-
- //drilldown chart configuration
- var drilldownConfig = {
- shapes: [{
- type: 'zingchart.maps',
- options: {
- name: '',
- style: {
- controls: {
- placement: 'bl'
- }
- }
- }
- },
- {
- x: 100,
- y: 20,
- type: 'rectangle',
- height: 25,
- width: 155,
- backgroundColor: '#C4C4C4',
- padding: 5,
- cursor: 'hand',
- id: 'back_button',
- label: {
- text: 'Back To World Countries'
- },
- hoverState: {
- borderWidth: 1,
- borderColor: '#000'
- }
- }
- ]
- };
-
- // for maps that exist in our library. Pre-load them later on
- zingchart.loadModules('maps-usa, maps-bra, maps-ind');
- zingchart.bind('myChart', 'shape_click', function(e) {
- var newMapId = String(e.shapeid).toLowerCase();
-
- // if shape is our back button and not the map
- if (newMapId == 'back_button') {
- console.log('here')
- // since we are using setdata, reload will reload the original chartJSON
- zingchart.exec('myChart', 'reload');
- return;
- }
-
- if (hasDrilldownData(newMapId)) {
- drilldownConfig.shapes[0].options.name = newMapId;
- zingchart.exec('myChart', 'setdata', {
- data: drilldownConfig
- });
- }
- });
-
- // used in the shape_click event to determine if we should drilldown
- function hasDrilldownData(newMapId) {
- var drillDownCountries = ['usa', 'bra', 'ind'];
- for (var i = 0; i < drillDownCountries.length; i++) {
- if (newMapId === drillDownCountries[i])
- return true;
- }
-
- return false;
- }