Sample Data
Result
Source
function numberFormatComma(n) {
var reg = /(^[+-]?\d+)(\d{3})/; // 정규식
n += ''; // 숫자를 문자열로 변환
while (reg.test(n)){
n = n.replace(reg, '$1' + ',' + '$2');
}
return n;
}
var countryData = [];
//for each country, set the code and value
$.each(data.countries, function() {
countryData[this.code] = this.pGdp;
});
var markers = [
{
latLng : [ 41.90, 12.45 ],
name : 'Vatican City',
type : 'eu',
style: {r: 15},
population : 800,
url : 'http://www.vatican.va/phome_en.htm'
}, {
latLng : [ 48.856614, 2.352222 ],
name : 'Paris',
type : 'eu',
population : 2229385,
url : 'http://www.paris.fr/english'
}, {
latLng : [ 37.60, 127.00 ],
name : 'Seoul',
type : 'asia',
population : 10442426,
url : 'http://www.seoul.go.kr'
}
];
var colors = [];
for (var i = 0; i < markers.length; i++) {
if (markers[i].type == 'eu') {
colors[i] = 0;
}
else {
colors[i] = 1;
};
};
$(document).ready(function(){
// map
$('#jvm_worldMap').vectorMap({
map : 'world_mill_en',
series : {
regions : [ {
values : countryData,
scale : [ '#C8EEFF', '#0071A4' ], // two colors: for minimum and maximum values
normalizeFunction : 'polynomial'
} ]
,
markers: [{
attribute: 'fill',
scale: ['#1B77E0', '#E01B1B'],
values: colors,
min: 0,
max: 1
}]
},
//-----------------------------------------------
// changed to onRegionLabelShow from onLabelShow
//-----------------------------------------------
onRegionLabelShow: function(e, el, code) {
//search through data to find the selected country by it's code
var country = $.grep(data.countries, function(obj, index) {
return obj.code == code;
})[0]; //snag the first one
//only if selected country was found in dataC
if (country != undefined) {
el.html(el.html() +
"
Code: " +country.code +
"
Name: " + country.name +
"
GDP/Person: $ " + numberFormatComma(country.pGdp)+
"
Population: "+ numberFormatComma(Math.round(Number(country.pop)/10000))+" 만명");
}
}
,markerStyle : {
initial : {
fill : '#F8E23B',
stroke : '#383f47'
}
},
markers : markers,
onMarkerClick: function(events, index) {
if(confirm('확인을 누르시면 홈페이지로 이동 합니다.')){
window.open(markers[index].url, markers[index].name);
}
},
onMarkerLabelShow: function(e, el, code) {
var msg = ""+el.html()+"";
var source = markers[code];
msg += "
population : "+numberFormatComma(source.population)+" 명";
el.html(msg);
}
});
});
HTML
'웹 개발 > jVectorMap' 카테고리의 다른 글
| Shape -> jVectorMap 변환 방법! (0) | 2013.07.25 |
|---|---|
| SVG를 jVectorMap으로... (0) | 2013.07.24 |
| jVectorMap - Shape 다운로드 하기.. (0) | 2013.07.17 |
| jVectorMap - Map Converting for Window (0) | 2013.07.17 |
| jVectorMap - Map Converting for Ubuntu (0) | 2013.07.17 |
data.js