Окрашивание региона программно на основе выбора пользователя с помощью Highmaps - PullRequest
0 голосов
/ 23 октября 2018

У меня есть приложение, в котором пользователь может выбрать регион, нажав.Затем карта переписывает себя и zoomsTo () для выбранной области.Пока все остальное работает, но я не знаю, как программно раскрасить выделенную область.Область (или другая статистика) также может быть выбрана из выпадающего списка, поэтому мне придется перерисовывать карту в любом случае.

var mapChart=$('#mapcontainer').highcharts(); mapChart.get(jQuery( "#selected-region" ).val()).zoomTo(); mapChart.mapZoom(5);

Я пробовал все по порядку:

mapChart.get(jQuery( "#selected-region" ).val()).color="rgb(255,0,0)";

, но пока без прорывов: /

Есть идеи?

Хэнк

1 Ответ

0 голосов
/ 23 октября 2018

Использование jquery для выбора точки - не лучшее решение.Highcharts предоставляет точечные события, такие как click, где у вас есть доступ к экземпляру точки, на который вы нажали, или вы можете выбрать точку, используя метод chart.get () по идентификатору точки.

Чтобы изменитьВыбранный цвет области Вы должны определить свойство цвета, когда точка (область) выбрана:

series: [{
  states: {
    select: {
      color: '#a4edba'
    }
  }
}]

Теперь вам нужно вызвать select () метод для выбранной или выбранной точки,а также вы вызвали zoomTo() метод:

  series: [{
      point: {
        events: {
          click: function() {
            var point = this;

            point.zoomTo();
            point.select();
          }
        }
      },
      states: {
        select: {
          color: '#a4edba'
        }
      }
    }]
  });

Демо: https://jsfiddle.net/wchmiel/yzco1023/

...