JSVectormap - Focus on selected region
Click the focus element source: http://themustafaomar.com/open-source/jsvectormap/docs/map
by katalin_2003
HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Jsvectormap (Basic)</title>
<!-- <link rel="stylesheet" href="../assets/css/style.css" /> -->
<link rel="stylesheet" href="https://unpkg.com/[email protected]/dist/css/jsvectormap.css" />
<script src="https://unpkg.com/[email protected]/dist/js/jsvectormap.js"></script>
<script src="https://unpkg.com/[email protected]/dist/maps/world.js"></script>
<style>
.map-wrapper {
border: 1px solid #EEE;
padding: 1rem;
width: 700px;
margin: auto
}
</style>
</head>
<body>
<div id="region-info"> </div>
<div id="map" style="width: 750px; height: 400px; margin: auto; border: 1px solid #EEE"></div>
<div id="focus">
focus
</div>
</body>
</html>
CSS
@import 'https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap';
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Roboto', sans-serif;
line-height: 1.5;
font-size: 1rem;
padding: 1rem;
color: #3a3f4e
}
.workspace-wrapper header {
max-width: 1170px;
margin: auto;
padding: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
}
.workspace-wrapper header p {
margin-top: .5rem;
font-size: .925rem;
}
.workspace-wrapper #map {
width: 800px;
height: 475px;
margin: 2rem auto 0;
}
#region-info {
font-size: 1em;
}
#focus {
cursor: pointer;
}
JavaScript
var map = new jsVectorMap({
map: 'world',
selector: '#map',
});
var regionToSelect = 'RO';
document.querySelector('#focus').addEventListener('click', function() {
map.setFocus({
region: regionToSelect,
animate: true
});
map.setSelected(
'regions', [regionToSelect]
);
// console.log(map);
//parseEvent(map, this, true);
// console.log(map.getSelectedRegions(this));
// get focused country name
var regionInfo = document.getElementById('region-info');
regionInfo.innerHTML = map.regions[map.getSelectedRegions(this)].config.name;
console.log('You selected: ' + map.regions[map.getSelectedRegions(this)].config.name + '!');
// config tooltip
// map.tooltip.text(map.regions[map.getSelectedRegions(this)].config.name);
// map.tooltip.show();
//// map.emit(data.event, [map.tooltip, data.code]);
// map.tooltip.hide();
});