0

我对 JavaScript 很生疏,所以我希望有人能帮助我。我正在使用 Highmaps,并希望将地图链接到 Google 电子表格中的数据。(这是一张将定期更新的美国县地图,因此将其全部包含在脚本本身中有点笨拙。)

这就是我的代码现在的样子:

  <script type="text/javascript">
  var example = 'us-counties',
  theme = 'default';

  (function($) { // encapsulate jQuery
  $(function() {
          var data = [{
              "code": "us-al-001",
              "name": "Autauga County, AL",
              "value": 0
          },

…</p>

          {
              "code": "us-pr-153",
              "name": "Yauco Municipio, PR",
              "value": 0
          }],
          countiesMap = Highcharts.geojson(Highcharts.maps['countries/us/us-all-all']),
          lines = Highcharts.geojson(Highcharts.maps['countries/us/us-all-all'], 'mapline'),
          options;

      // Add state acronym for tooltip
      Highcharts.each(countiesMap, function(mapPoint) {
          mapPoint.name = mapPoint.name + ' County, ' + mapPoint.properties['hc-key'].substr(3, 2);
      });

          series: [{
              name: 'County',
              mapData: countiesMap,
              data: data,
              joinBy: ['hc-key', 'code'],
              tooltip: {
                  enabled: true,
                  positioner: function () {
                    return { x: 0, y: 250 };
                    },
                  pointFormat: '{point.name}',
                  borders: 0.5
                },
              borderWidth: 0.5
          }, {
              type: 'mapline',
              name: 'State borders',
              data: [lines[0]],
              color: 'white'
          }, {
              type: 'mapline',
              name: 'Separator',
              data: [lines[1]],
              color: 'gray'
          }]
      };

      // Instanciate the map
      $('#container').highcharts('Map', options);
  });
  $(document).ready(function() {
      $("#view-menu").click(function(e) {
          $("#wrap").toggleClass("toggled");
      });
      $("#sidebar-close").click(function(e) {
          $("#wrap").removeClass("toggled");
      });
  });
 })(jQuery);
</script>

当然,由于有 3,200 多个县,我宁愿将这些数据存储在其他地方并将其拉入var data = []字符串中,但我不知道该怎么做。

任何帮助,将不胜感激。

4

1 回答 1

0

虽然这不是我做过的事情,但看起来这应该是相对简单的(当然,没有什么像看起来那么简单)。

有一个用于 Google 表格的 API(https://developers.google.com/google-apps/spreadsheets/),您可以通过 Google 获取有关如何检索数据的示例 - 这个看起来很清楚(https://developers.google.com /gdata/docs/json)虽然它确实指出了一些相关 API 的更新版本。

如果您从 Google 表格中提取 JSON 数据,则只需将值放入数据变量的“值”元素中。您可以在主函数中完成所有这些操作,也可以单独执行并将其作为参数传递给您的函数。

于 2015-07-16T19:26:50.417 回答