jVectorMap 获取点击区域的值
jVectorMap get the value of the clicked region
我使用以下代码创建了一个 jVectorMap
var vmap = $('#world-map').vectorMap({
regionsSelectable: true,
regionsSelectableOne: true,
series: {
regions: [{
scale: ['#cccccc', '#0A6EB4'],
values: datasource
}]
},
onRegionClick: function (event, code) {
// if the value of the clicked region is ==1 do something
},
backgroundColor: '#fff',
focusOn: {
lat: -0.015, lng: 15,
x: 0,
y: 0,
scale: 1.9
}
});
数据源定义如下:
countriesBgColors1 = {"AF": 1,"AL": 0,"DZ": 1,"AO": 0, ... }
取值全为1或0,取数据使用AJAX
在onRegionClick函数中,我想只有点击区域的值为==1时才执行代码,请问如何实现?
似乎没有办法检索它,除非我遍历整个数据源
我相信答案比您想象的要简单。无需在此处循环,因为您正在接收作为对象的数据:
onRegionClick: function (event, code) {
var countryData = countriesBgColors1[code];
switch(countryData) {
case 0:
// do something
break;
case 1:
// do something else
break;
}
},
当您将您的数据分配给地图系列区域时,以上代码将等同于:
onRegionClick: function (event, code) {
var countryData = vmap.series.regions[0].values[code];
switch(countryData) {
case 0:
// do something
break;
case 1:
// do something else
break;
}
},
希望对您有所帮助。
我使用以下代码创建了一个 jVectorMap
var vmap = $('#world-map').vectorMap({
regionsSelectable: true,
regionsSelectableOne: true,
series: {
regions: [{
scale: ['#cccccc', '#0A6EB4'],
values: datasource
}]
},
onRegionClick: function (event, code) {
// if the value of the clicked region is ==1 do something
},
backgroundColor: '#fff',
focusOn: {
lat: -0.015, lng: 15,
x: 0,
y: 0,
scale: 1.9
}
});
数据源定义如下:
countriesBgColors1 = {"AF": 1,"AL": 0,"DZ": 1,"AO": 0, ... }
取值全为1或0,取数据使用AJAX
在onRegionClick函数中,我想只有点击区域的值为==1时才执行代码,请问如何实现?
似乎没有办法检索它,除非我遍历整个数据源
我相信答案比您想象的要简单。无需在此处循环,因为您正在接收作为对象的数据:
onRegionClick: function (event, code) {
var countryData = countriesBgColors1[code];
switch(countryData) {
case 0:
// do something
break;
case 1:
// do something else
break;
}
},
当您将您的数据分配给地图系列区域时,以上代码将等同于:
onRegionClick: function (event, code) {
var countryData = vmap.series.regions[0].values[code];
switch(countryData) {
case 0:
// do something
break;
case 1:
// do something else
break;
}
},
希望对您有所帮助。