我有一个数组填充了地图上的区域
var regions = [
{name: 'BE-WV', positions: true},
{name: 'BE-OV', positions: true},
{name: 'BE-AN', positions: false},
{name: 'BE-LI', positions: true},
{name: 'BE-VB', positions: true},
{name: 'BE-BR', positions: true},
{name: 'BE-WB', positions: true},
{name: 'BE-HG', positions: true},
{name: 'BE-NA', positions: true},
{name: 'BE-LK', positions: true},
{name: 'BE-LX', positions: true},
];
我想知道是否可以创建一个检查区域的函数。如果该区域的位置为:true,则应该是可选择的,否则不应该。
我已经创建了一个函数,如果它应该是可选的,可以在悬停时更改鼠标光标。
onRegionOver: function(event, code, region){
for (var i = 0; i < regions.length; i++) {
element = regions[i];
elementName = element['name'];
if ( elementName == code){
if (element['positions'] !== false){
document.body.style.cursor = 'pointer';
}
}
}
答案 0 :(得分:0)
我找到了一个解决方案,但它非常糟糕。 在onRegionClick函数中,检查单击的区域是否具有错误位置。
然后将此代码粘贴到if
中 var m = $('#map').vectorMap('get', 'mapObject');
m.series.regions[0].elements[code].element.style.selected.fill = 'grey';
其中灰色是未选区域的颜色。