0

我有一个填充了地图上区域的数组

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},
];

我想知道是否可以创建一个检查区域的函数。如果该区域有一个 position: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';
         }
        }

}
4

1 回答 1

0

我找到了一个解决方案,但它是一个相当老套的解决方案。在 onRegionClick 函数中,检查点击的区域是否有错误的位置。

然后将此代码粘贴到if中

 var m = $('#map').vectorMap('get', 'mapObject');
 m.series.regions[0].elements[code].element.style.selected.fill = 'grey';

其中灰色是未选择区域的颜色。

于 2013-10-23T12:36:49.157 回答