2013-10-23 2 views
0

I지도설정 단일 영역

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

해결책을 찾았지만 꽤 해킹 된 것 같습니다. onRegionClick 함수에서 클릭 된 영역의 위치가 잘못된지 확인합니다.

나서 그레이 비 선택 영역의 색상 인 경우

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

내부 코드를 붙여.