const data = [
{ name: 'United States of America', value: 63 },
{ name: 'Canada', value: 41 },
{ name: 'Brazil', value: 72 },
{ name: 'United Kingdom', value: 84 },
{ name: 'France', value: 77 },
{ name: 'Germany', value: 69 },
{ name: 'Russia', value: 44 },
{ name: 'China', value: 71 },
{ name: 'India', value: 66 },
{ name: 'Australia', value: 59 },
]
const projections = ['equalEarth', 'mercator', 'orthographic']
projections.forEach((projection) => {
const el = document.createElement('div')
document.getElementById('map').appendChild(el)
const map = new ApexMaps(el, {
chart: { height: 320 },
geo: {
map: 'world/countries@110m',
sphere: { show: true },
projection,
graticule: { show: true },
},
legend: { show: false },
series: [{ name: 'Index score', joinBy: 'name', data, scale: { palette: 'viridis' } }],
})
map.render().then(() => {
map.on('rotateEnd', ({ rotate }) => {
console.log(`${map.viewport.projectionName} rotated to ${Math.round(rotate[0])}°`)
})
})
})