2015-08-11 1 views
0

Я уже пробовал изменять данные (null до некоторого номера вне диапазона) и играть с colorAxis min и mas и color останавливается, и пока это работает, если оно одна карта, она не работает для того, что я делаю.Как связать обработчик события клика с нулевыми точками данных в HighMaps

Мне действительно нужно иметь возможность повесить код на событие click.

Благодаря

https://jsfiddle.net/alex_at_pew/nbz9npyg/5/

$(function() { 
    // Instantiate the map 
    $('#container').highcharts('Map', { 
     plotOptions: { 
      map: { 
       events: { 
        mouseOver: function (e) { 
         console.log(e); 
        } 
       } 
      } 
     }, 
     chart : { 
      borderWidth : 1 
     }, 
     title : { 
      text : 'Nordic countries' 
     }, 
     subtitle : { 
      text : 'Demo of drawing all areas in the map, only highlighting partial data' 
     }, 
     legend: { 
      enabled: false 
     }, 
     colorAxis: { 
      dataClasses: [{ 
       from: -100, 
       to: 1, 
       color: '#C40401', 
       name: 'pseudonull(1s are the new null)' 
      }], 
     }, 
     series : [{ 
      name: 'Country', 
      mapData: Highcharts.maps['custom/europe'], 
      data: [ 
       { 
        code: 'DE', 
        value: 1 
       }, { 
        code: 'IS', 
        value: 2 
       }, { 
        code: 'NO', 
        value: 2 
       }, { 
        code: 'SE', 
        value: 2 
       }, { 
        code: 'FI', 
        value: 2 
       }, { 
        code: 'DK', 
        value: 2 
       } 
      ], 
      joinBy: ['iso-a2', 'code'], 
      dataLabels: { 
       enabled: true, 
       color: 'white', 
       formatter: function() { 
        if (this.point.value > 1) { 
         return this.point.name; 
        } else if(this.point.value == 1) { 
         return 'this is "null"'; 
        } 
       } 
      }, 
      tooltip: { 
       headerFormat: '', 
       pointFormat: '{point.name}' 
      } 
     }] 
    }); 
}); 

ответ

0

Я не очень уверен, что вы пытаетесь достичь, но от моего понимания, вы хотите прикрепить нажмите событие в страны со значениями NULL.

Я создал этот пример здесь: http://jsfiddle.net/on6v5vhr/

Очевидно, что если страна имеет значение NULL, он не будет в состоянии иметь событие щелчка, но то, что я сделал это, чтобы смоделировать такое поведение, так что я прошел через эти шаги:

Процесс ваши данные и дают все нулевое значение такое же конкретное значение (Франция является ничтожной, так что я дал ему значение -999) только

{code: 'FR', value: -999} 

Показать datalabels для стран, имеют значение и это значение s отличается от -999

formatter: function() { 
    if (this.point.value && (this.point.value !== -999)) { 
     return this.point.name; 
    } 
} 

Показать подсказке только для тех стран, которые имеют значение, отличное -999

tooltip: { 
    formatter: function() { 
     if (this.point.value !== -999) { 
      return this.point.name; 
      } else { 
       return false; 
      } 
     } 
    } 

вручную установить цвет такой же, как цвет NULL для всех стран, которые имеют значение от -999

colorAxis: { 
    dataClasses: [{ 
     from: -100, 
     to: 1, 
     color: '#C40401', 
     name: 'pseudonull(1s are the new null)' 
    }, { 
     from: -999, 
     to: -999, 
     color: 'rgba(0,0,0,0)', 
     name: 'No data' 
    }], 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^