// JVECTOR MAP // ----------------------------------- (function(window, document, $, undefined){ window.defaultColors = { markerColor: '#23b7e5', // the marker points bgColor: 'transparent', // the background scaleColors: ['#878c9a'], // the color of the region in the serie regionFill: '#bbbec6' // the base region color }; window.VectorMap = function(element, seriesData, markersData) { if ( ! element || !element.length) return; var attrs = element.data(), mapHeight = attrs.height || '300', options = { markerColor: attrs.markerColor || defaultColors.markerColor, bgColor: attrs.bgColor || defaultColors.bgColor, scale: attrs.scale || 1, scaleColors: attrs.scaleColors || defaultColors.scaleColors, regionFill: attrs.regionFill || defaultColors.regionFill, mapName: attrs.mapName || 'world_mill_en' }; element.css('height', mapHeight); init( element , options, seriesData, markersData); function init($element, opts, series, markers) { $element.vectorMap({ map: opts.mapName, backgroundColor: opts.bgColor, zoomMin: 1, zoomMax: 8, zoomOnScroll: false, regionStyle: { initial: { 'fill': opts.regionFill, 'fill-opacity': 1, 'stroke': 'none', 'stroke-width': 1.5, 'stroke-opacity': 1 }, hover: { 'fill-opacity': 0.8 }, selected: { fill: 'blue' }, selectedHover: { } }, focusOn:{ x:0.4, y:0.6, scale: opts.scale}, markerStyle: { initial: { fill: opts.markerColor, stroke: opts.markerColor } }, onRegionLabelShow: function(e, el, code) { if ( series && series[code] ) el.html(el.html() + ': ' + series[code] + ' visitors'); }, markers: markers, series: { regions: [{ values: series, scale: opts.scaleColors, normalizeFunction: 'polynomial' }] }, }); }// end init }; })(window, document, window.jQuery);