JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE html><html><head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>포인트 시리즈</title>
<style>
html {
margin: 0px;
}
body {
margin: 20px 30px;
}
#realmap {
width: 850px;
height: 750px;
border: 1px solid lightgray;
margin-bottom: 20px;
}
</style>
<link href="https://unpkg.com/realmap/realmap-style.css" rel="stylesheet" crossorigin="anonymous">
<link href="https://unpkg.com/realmap/realmap-export-style.css" rel="stylesheet" crossorigin="anonymous">
<style>
.green-layout {
background-color: #00880020;
}
.red-button {
color: red;
}
</style>
<script type="text/javascript" src="https://unpkg.com/realmap/export.js"></script>
<script type="text/javascript" src="https://unpkg.com/realmap/index.js"></script>
<script type="text/javascript">
window.addEventListener('DOMContentLoaded', function () {
try {
init();
} catch (err) {
alert(err);
console.error(err);
}
});
</script>
<script>
var realMapLic = "upVcPE+wPOl3H1t2EmYDS2ZHHsIGhYOFvAiOqCN7jMScsYfjJ8xYHvcnjNP/alBGvwgv6MHcLk1itlg31ZMil9o5hU+SYjm4Y36LXWAlUU4zFfHLyfJrYkJ/CQ8eAe9knEDoO6g6qItm79yHT0KSfOj61RRag6zMyWEhOl7O9n/Hwl6Ih/mjqr3cLQlHWabvEhVyY82R38U=";
</script>
</head>
<body>
<div id="realmap"></div>
<div id="actions"></div>
</body></html>
JavaScript
const config = {
title: false,
credits: {
visible: false
},
map: [{
url: 'https://unpkg.com/realmap-collection/kr-sido-low.geo.json',
padding: '0.8 0 0.3 0'
}],
body: {
projection: 'mercator'
},
annotations: [{
front: true,
type: 'shape',
shape: 'rectangle',
offsetX: 20,
offsetY: 20,
width: 10,
height: 28,
style: {
fill: '#858FD5'
}
}, {
front: true,
// scope: 'body',
type: 'text',
text: '전국 장애인 복지관 현황',
offsetX: 40,
offsetY: 20,
height: 28,
style: {
fontSize: '15pt',
fontWeight: 700
}
}],
series: [{
legend: -1,
tooltipText: '${id}<br />복지관: ${welfareCount}개',
mapKeys: ['name', 'id'],
hoverColor: '#C0D2AC',
style: {
stroke: '#fff'
},
pointStyle: {
stroke: '#fff'
},
pointColors: args => {
const {
welfareCount
} = args.source;
if (welfareCount < 10) return '#EEF1DA';
if (welfareCount < 20) return '#D5E5D5';
if (welfareCount < 50) return '#C7D9DD';
return '#EEF1DA';
},
dataUrl: 'https://www.realmap.co.kr/assets/data/kr-welfare-center-statistic.json'
}, {
type: 'point',
name: '복지관 분포',
dataUrl: 'https://www.realmap.co.kr/assets/data/kr-welfare-center.json',
tooltipText: false,
radius: 3,
pointLabel: {
zoomLevel: 300,
text: '<t style="opacity: 0.7">${name}</t>'
},
style: {
stroke: '#858FD5',
strokeWidth: '2px',
fill: '#fff'
}
}, {
type: 'bar',
name: '시도별 복지관 개수',
width: '25',
sizeMode: 'width',
baseLine: {
style: {
stroke: '#858FD5'
}
},
tooltipText: false,
valueField: 'welfareCount',
pointLabel: {
text: '<t style="font-size: 16px">${id}</t><br/><t style="opacity: 0.7">복지관: ${welfareCount}개</t>'
},
dataUrl: 'https://www.realmap.co.kr/assets/data/kr-welfare-center-statistic.json',
callout: true,
...