Rails и High Charts - не могут отображать карты вообще

У меня проблемы даже при взлете с картами Highcharts.

Я следил за установкой рельсов.

Gemfile

      gem "highcharts-rails", "~> 3.0.0"

application.js

  //= require highcharts
  //= require highcharts/highcharts-more
  //= require highcharts/modules/data
  //= require highcharts/modules/map

На моей странице

  <div id="container" style="height: 500px; min-width: 310px; max-width: 600px; margin: 0 auto"></div>

<script>

  $(function () {

    // Prepare demo data
    var data = [{
        'hc-key': 'us',
        value: 3
    }, {
        'hc-key': 'ca',
        value: 5
    }, {
        'hc-key': 'mx',
        value: 20
    }];


    // Initiate the chart
    $('#container').highcharts('Map', {

        title: {
            text: 'Showing only non-null areas'
        },

        subtitle: {
            text: 'The <em>allAreas</em> option is false'
        },

        mapNavigation: {
            enabled: true,
            buttonOptions: {
                verticalAlign: 'bottom'
            }
        },

        colorAxis: {
            min: 0
        },

        series: [{
            data: data,
            mapData: Highcharts.maps['custom/north-america-no-central'],
            joinBy: 'hc-key',
            allAreas: false,
            name: 'Random data',
            states: {
                hover: {
                    color: '#BADA55'
                }
            },
            dataLabels: {
                enabled: true,
                format: '{point.name}'
            }
          }]
        });
      });

   </script>

Как вы можете видеть на скриншоте, карта не отображается.

Я видел подобный вопрос здесь:

High-карты с американскими штатами в Rails

но я попробовал эти перестановки и комбинации размещения ссылок на файлы js в заголовке моего приложения без успеха. Простая установка "ваша первая диаграмма" в документации прекрасно работает

http://www.highcharts.com/docs/getting-started/your-first-chart

..... как только я попробую карты, радости нет.

Снимок экрана = карта не отображается

РЕДАКТИРОВАТЬ

Так,

если я удалю файлы из application.js и добавлю

   <script src="http://code.highcharts.com/maps/highmaps.js"></script>
   <script src="http://code.highcharts.com/maps/modules/data.js"></script>
   <script src="http://code.highcharts.com/mapdata/custom/world.js"></script>

в заголовок моего приложения.... работает следующее...

      <div id="container" style="height: 500px; min-width: 310px; max-width: 600px; margin: 0 auto"></div>


  <script>
    $(function () {

    $.getJSON('http://www.highcharts.com/samples/data/jsonp.php?filename=world-population-density.json&callback=?', function (data) {

        // Add lower case codes to the data set for inclusion in the tooltip.pointFormat
        $.each(data, function () {
            this.flag = this.code.replace('UK', 'GB').toLowerCase();
        });

        // Initiate the chart
        $('#container').highcharts('Map', {

            title: {
                text: 'Fixed tooltip with HTML'
            },

            legend: {
                title: {
                    text: 'Population density per km²',
                    style: {
                        color: (Highcharts.theme && Highcharts.theme.textColor) || 'black'
                    }
                }
            },

            mapNavigation: {
                enabled: true,
                buttonOptions: {
                    verticalAlign: 'bottom'
                }
            },

            tooltip: {
                backgroundColor: 'none',
                borderWidth: 0,
                shadow: false,
                useHTML: true,
                padding: 0,
                pointFormat: '<span class="f32"><span class="flag {point.flag}"></span></span>'
                + ' {point.name}: <b>{point.value}</b>/km²',
                positioner: function () {
                    return { x: 0, y: 250 };
                }
            },

            colorAxis: {
                min: 1,
                max: 1000,
                type: 'logarithmic'
            },

            series : [{
                data : data,
                mapData: Highcharts.maps['custom/world'],
                joinBy: ['iso-a2', 'code'],
                name: 'Population density',
                states: {
                    hover: {
                        color: '#BADA55'
                    }
                  }
               }]
             });
          });
      });
   </script>

Конечно, должен быть хороший "рельсовый" способ заставить это работать без явного вызова файлов в заголовке?

0 ответов

Другие вопросы по тегам