233 lines
5.9 KiB
JavaScript
233 lines
5.9 KiB
JavaScript
/*
|
|
Template Name: Attex - Responsive 5 Admin Dashboard
|
|
Author: CoderThemes
|
|
Website: https://coderthemes.com/
|
|
Contact: support@coderthemes.com
|
|
File: vector map js
|
|
*/
|
|
|
|
class VectorMap {
|
|
|
|
initWorldMapMarker() {
|
|
const map = new jsVectorMap({
|
|
map: 'world',
|
|
selector: '#world-map-markers',
|
|
zoomOnScroll: false,
|
|
zoomButtons: true,
|
|
markersSelectable: true,
|
|
markers: [
|
|
{ name: "Greenland", coords: [72, -42] },
|
|
{ name: "Canada", coords: [56.1304, -106.3468] },
|
|
{ name: "Brazil", coords: [-14.2350, -51.9253] },
|
|
{ name: "Egypt", coords: [26.8206, 30.8025] },
|
|
{ name: "Russia", coords: [61, 105] },
|
|
{ name: "China", coords: [35.8617, 104.1954] },
|
|
{ name: "United States", coords: [37.0902, -95.7129] },
|
|
{ name: "Norway", coords: [60.472024, 8.468946] },
|
|
{ name: "Ukraine", coords: [48.379433, 31.16558] },
|
|
],
|
|
markerStyle: {
|
|
initial: { fill: "#3e60d5" },
|
|
selected: { fill: "#3e60d56e" }
|
|
},
|
|
labels: {
|
|
markers: {
|
|
render: marker => marker.name
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
// World Map Markers with Line
|
|
initWorldMarkerLine() {
|
|
const worldlinemap = new jsVectorMap({
|
|
map: "world_merc",
|
|
selector: "#world-map-markers-line",
|
|
zoomOnScroll: false,
|
|
zoomButtons: false,
|
|
markers: [{
|
|
name: "Greenland",
|
|
coords: [72, -42]
|
|
},
|
|
{
|
|
name: "Canada",
|
|
coords: [56.1304, -106.3468]
|
|
},
|
|
{
|
|
name: "Brazil",
|
|
coords: [-14.2350, -51.9253]
|
|
},
|
|
{
|
|
name: "Egypt",
|
|
coords: [26.8206, 30.8025]
|
|
},
|
|
{
|
|
name: "Russia",
|
|
coords: [61, 105]
|
|
},
|
|
{
|
|
name: "China",
|
|
coords: [35.8617, 104.1954]
|
|
},
|
|
{
|
|
name: "United States",
|
|
coords: [37.0902, -95.7129]
|
|
},
|
|
{
|
|
name: "Norway",
|
|
coords: [60.472024, 8.468946]
|
|
},
|
|
{
|
|
name: "Ukraine",
|
|
coords: [48.379433, 31.16558]
|
|
},
|
|
],
|
|
lines: [{
|
|
from: "Canada",
|
|
to: "Egypt"
|
|
},
|
|
{
|
|
from: "Russia",
|
|
to: "Egypt"
|
|
},
|
|
{
|
|
from: "Greenland",
|
|
to: "Egypt"
|
|
},
|
|
{
|
|
from: "Brazil",
|
|
to: "Egypt"
|
|
},
|
|
{
|
|
from: "United States",
|
|
to: "Egypt"
|
|
},
|
|
{
|
|
from: "China",
|
|
to: "Egypt"
|
|
},
|
|
{
|
|
from: "Norway",
|
|
to: "Egypt"
|
|
},
|
|
{
|
|
from: "Ukraine",
|
|
to: "Egypt"
|
|
},
|
|
],
|
|
regionStyle: {
|
|
initial: {
|
|
stroke: "#9ca3af",
|
|
strokeWidth: 0.25,
|
|
fill: '#9ca3af69',
|
|
fillOpacity: 1,
|
|
},
|
|
},
|
|
markerStyle: {
|
|
initial: { fill: "#9ca3af" },
|
|
selected: { fill: "#9ca3af" }
|
|
},
|
|
lineStyle: {
|
|
animation: true,
|
|
strokeDasharray: "6 3 6",
|
|
},
|
|
});
|
|
}
|
|
|
|
|
|
initIndiaVectorMap() {
|
|
const map = new jsVectorMap({
|
|
map: 'in_mill',
|
|
backgroundColor: 'transparent',
|
|
selector: "#india-vector-map",
|
|
regionStyle: {
|
|
initial: {
|
|
fill: '#16a7e9'
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
initCanadaVectorMap() {
|
|
const map = new jsVectorMap({
|
|
map: 'canada',
|
|
selector: '#canada-vector-map',
|
|
zoomOnScroll: false,
|
|
regionStyle: {
|
|
initial: {
|
|
fill: '#3e60d5'
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
initRussiaVectorMap() {
|
|
const map = new jsVectorMap({
|
|
map: 'russia',
|
|
selector: '#russia-vector-map',
|
|
zoomOnScroll: false,
|
|
regionStyle: {
|
|
initial: {
|
|
fill: '#5d7186'
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
// US Map
|
|
initUsVectorMap() {
|
|
const map = new jsVectorMap({
|
|
map: 'us_aea_en',
|
|
selector: "#usa-vector-map",
|
|
regionStyle: {
|
|
initial: {
|
|
fill: '#3e60d5',
|
|
},
|
|
},
|
|
});
|
|
|
|
}
|
|
|
|
initIraqVectorMap() {
|
|
const map = new jsVectorMap({
|
|
map: 'iraq',
|
|
selector: '#iraq-vector-map',
|
|
zoomOnScroll: false,
|
|
regionStyle: {
|
|
initial: {
|
|
fill: '#3e60d5'
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
initSpainVectorMap() {
|
|
const map = new jsVectorMap({
|
|
map: 'spain',
|
|
selector: '#spain-vector-map',
|
|
zoomOnScroll: false,
|
|
regionStyle: {
|
|
initial: {
|
|
fill: '#ffc35a'
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
init() {
|
|
this.initWorldMapMarker();
|
|
this.initWorldMarkerLine();
|
|
this.initIndiaVectorMap ();
|
|
this.initCanadaVectorMap();
|
|
this.initRussiaVectorMap();
|
|
this.initUsVectorMap();
|
|
this.initIraqVectorMap();
|
|
this.initSpainVectorMap();
|
|
}
|
|
|
|
}
|
|
|
|
document.addEventListener('DOMContentLoaded', function (e) {
|
|
new VectorMap().init();
|
|
}); |