Установить один регион не может быть выбран

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

И мне было интересно, можно ли создать функцию, которая проверяет регионы. Если эта область имеет позицию: 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';
         }
        }

}
Теги:
maps
jvectormap

1 ответ

0

Я нашел решение, но оно довольно хакерское. В функции onRegionClick проверьте, имеет ли область щелчка ложную позицию.

Затем вставьте этот код внутри if

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

где серый - цвет невыбранных областей.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню