254 lines
6.3 KiB
JavaScript
254 lines
6.3 KiB
JavaScript
(function () {
|
|
"use strict";
|
|
|
|
/* basic vector map */
|
|
var map = new jsVectorMap({
|
|
selector: "#vector-map",
|
|
map: "world_merc",
|
|
});
|
|
|
|
/* map with markers */
|
|
var markers = [{
|
|
name: 'Russia',
|
|
coords: [61, 105],
|
|
style: {
|
|
fill: '#5c5cff'
|
|
}
|
|
},
|
|
{
|
|
name: 'Greenland',
|
|
coords: [72, -42],
|
|
style: {
|
|
fill: '#ff9251'
|
|
}
|
|
},
|
|
{
|
|
name: 'Canada',
|
|
coords: [56, -106],
|
|
style: {
|
|
fill: '#56de80'
|
|
}
|
|
},
|
|
{
|
|
name: 'Palestine',
|
|
coords: [31.5, 34.8],
|
|
style: {
|
|
fill: 'yellow'
|
|
}
|
|
},
|
|
{
|
|
name: 'Brazil',
|
|
coords: [-14.2350, -51.9253],
|
|
style: {
|
|
fill: '#000'
|
|
}
|
|
},
|
|
];
|
|
|
|
var map = new jsVectorMap({
|
|
map: 'world_merc',
|
|
selector: '#marker-map',
|
|
markersSelectable: true,
|
|
// markersSelectableOne: true,
|
|
|
|
onMarkerSelected(index, isSelected, selectedMarkers) {
|
|
console.log(index, isSelected, selectedMarkers);
|
|
},
|
|
|
|
// -------- Labels --------
|
|
labels: {
|
|
markers: {
|
|
render: function (marker) {
|
|
return marker.name
|
|
},
|
|
},
|
|
},
|
|
|
|
// -------- Marker and label style --------
|
|
markers: markers,
|
|
markerStyle: {
|
|
hover: {
|
|
stroke: "#DDD",
|
|
strokeWidth: 3,
|
|
fill: '#FFF'
|
|
},
|
|
selected: {
|
|
fill: '#ff525d'
|
|
}
|
|
},
|
|
markerLabelStyle: {
|
|
initial: {
|
|
fontFamily: 'Poppins',
|
|
fontSize: 13,
|
|
fontWeight: 500,
|
|
fill: '#35373e',
|
|
},
|
|
},
|
|
})
|
|
|
|
/* map with image markers */
|
|
var markers = [
|
|
{
|
|
name: 'Palestine',
|
|
coords: [31.5, 34.8],
|
|
},
|
|
{
|
|
name: 'Russia',
|
|
coords: [61, 105],
|
|
},
|
|
{
|
|
name: 'greenland',
|
|
coords: [72, -42],
|
|
},
|
|
{
|
|
name: 'Canada',
|
|
coords: [56, -106],
|
|
},
|
|
];
|
|
var map = new jsVectorMap({
|
|
map: 'world_merc',
|
|
selector: '#marker-image-map',
|
|
|
|
labels: {
|
|
markers: {
|
|
render: function (marker) {
|
|
return marker.name
|
|
}
|
|
}
|
|
},
|
|
markers: markers,
|
|
markerStyle: {
|
|
initial: {
|
|
image: true
|
|
}
|
|
},
|
|
series: {
|
|
markers: [{
|
|
attribute: 'image',
|
|
scale: {
|
|
marker1title: {
|
|
url: '../assets/images/brand-logos/toggle-logo.png',
|
|
offset: [10, 0]
|
|
},
|
|
marker2title: {
|
|
url: '../assets/images/brand-logos/toggle-logo.png',
|
|
offset: [10, 0]
|
|
}
|
|
},
|
|
values: {
|
|
0: 'marker1title',
|
|
1: 'marker2title',
|
|
2: 'marker2title',
|
|
3: 'marker1title',
|
|
}
|
|
}],
|
|
}
|
|
})
|
|
|
|
/* maps with lines */
|
|
var markers = [
|
|
{ name: 'Russia', coords: [61.5240, 105.3188] },
|
|
{ name: 'Egypt', coords: [26.8206, 30.8025] },
|
|
{ name: 'Greenland', coords: [71.7069, -42.6043], offsets: [2, 10] },
|
|
{ name: 'Canada', coords: [56, -106], offsets: [-7, 12] },
|
|
]
|
|
|
|
var lines = [
|
|
{ from: 'Russia', to: 'Egypt', style: { stroke: '#abb0b7', strokeWidth: 1.5 } },
|
|
{ from: 'Canada', to: 'Russia', style: { stroke: '#abb0b7', strokeWidth: 1.5 } },
|
|
]
|
|
new jsVectorMap({
|
|
map: 'world_merc',
|
|
selector: document.querySelector('#lines-map'),
|
|
// -------- Labels --------
|
|
labels: {
|
|
markers: {
|
|
render: function (marker) {
|
|
return marker.name
|
|
},
|
|
offsets: function (index) {
|
|
return markers[index].offsets || [0, 0]
|
|
}
|
|
},
|
|
},
|
|
// -------- Marker and label style --------
|
|
markers: markers,
|
|
lines: lines,
|
|
lineStyle: {
|
|
animation: true,
|
|
strokeDasharray: "6 3 6",
|
|
},
|
|
markerStyle: {
|
|
initial: {
|
|
r: 6,
|
|
fill: '#1266f1',
|
|
stroke: '#fff',
|
|
strokeWidth: 3,
|
|
}
|
|
},
|
|
markerLabelStyle: {
|
|
initial: {
|
|
fontSize: 13,
|
|
fontWeight: 500,
|
|
fill: '#35373e',
|
|
},
|
|
},
|
|
})
|
|
|
|
/* us vector map */
|
|
var map = new jsVectorMap({
|
|
selector: "#us-map",
|
|
map: "us_merc_en",
|
|
regionStyle: {
|
|
initial: {
|
|
stroke: "#e9e9e9",
|
|
strokeWidth: .15,
|
|
fill: "#845adf",
|
|
fillOpacity: 1
|
|
}
|
|
},
|
|
});
|
|
|
|
/* russia vector map */
|
|
var map = new jsVectorMap({
|
|
selector: "#russia-map",
|
|
map: "russia",
|
|
regionStyle: {
|
|
initial: {
|
|
stroke: "#e9e9e9",
|
|
strokeWidth: .15,
|
|
fill: "#a65e76",
|
|
fillOpacity: 1
|
|
}
|
|
},
|
|
});
|
|
|
|
/* spain vector map */
|
|
var map = new jsVectorMap({
|
|
selector: "#spain-map",
|
|
map: "spain",
|
|
regionStyle: {
|
|
initial: {
|
|
stroke: "#e9e9e9",
|
|
strokeWidth: .15,
|
|
fill: "#23b7e5",
|
|
fillOpacity: 1
|
|
}
|
|
},
|
|
});
|
|
|
|
/* canada vector map */
|
|
var map = new jsVectorMap({
|
|
selector: "#canada-map",
|
|
map: "canada",
|
|
regionStyle: {
|
|
initial: {
|
|
stroke: "#e9e9e9",
|
|
strokeWidth: .15,
|
|
fill: "#f5b849",
|
|
fillOpacity: 1
|
|
}
|
|
},
|
|
});
|
|
|
|
})(); |