HighMap — почему данные не отображаются после нажатия

#javascript #jquery #json #highcharts

#javascript #jquery #json #highcharts

Вопрос:

Я использую Highmap для создания карты и хочу отображать данные с разными диаграммами после нажатия (или наведения курсора мыши) на часть карты.

Вот пример (я не хочу использовать электронную таблицу Google для получения данных, я хочу использовать данные json) Мой пример

Пример Highmap здесь HighMap . (С использованием электронной таблицы Google)

Если кто-нибудь может помочь в этом, будет полезно.

Вот фрагмент кода

        Highcharts.each(Highcharts.maps, function (mapPoint) {
            var key = mapPoint.code,
                i = $.inArray(key, keys);
            options.series[0].data.push(Highcharts.extend({
                value : parseFloat(percent[i]),
                name : names[i],
                key: key
            }, mapPoint));
        });
  

Ответ №1:

Я не уверен, в чем вопрос, но постараюсь ответить. В общем, у вас есть диаграмма, но ваши данные серии не содержат значений, добавьте их и все заработает. Смотрите демонстрацию.

                 series: [{
                    name: 'Random data',  
                    data: [{
                        color: '#0200D0',
                        name : 'A',
                        y: 30
                    }, {
                        color: '#C40401',
                        name : 'B',
                        y: 20
                    }],
                    dataLabels: {
                        format: '<b>{point.name}</b> {point.percentage:.1f}%'
                    }
                }],
  

Конечно, эти значения всегда будут фиксированными. В вашем случае я бы использовал некоторый AJAX для получения JSON в pointClick() функции, а затем отображал данные из JSON на диаграмме.

Комментарии:

1. Да, данные в формате json поступают с сервера, и при нажатии они обновят диаграмму.

2. Здесь в качестве примера я использую данные json в том же JS-файле.

3. Итак, в чем вопрос? Перед созданием диаграммы вызовите AJAX на свой сервер, затем внутри обратного вызова AJAX создайте такую диаграмму.

4. Хорошо, что возникла проблема с отображением данных на диаграмме 2-го окна.

5. Не удалось выяснить, ошибка в консоли также отсутствует. Это просто ничего не отображает, в конце концов я попробовал map в формате SVG, а затем переключился на этот.