2016-08-13 47 views
1

我在使用drilledown的应用程序中使用了highmaps,它对美国给出的示例数据正常工作。带有drilledDown的高画质

但它不适用于斯里兰卡的数据。可能是什么问题?

这里是我的代码:

$('#container').highcharts('Map', { 
     chart : { 
      events: { 
       drilldown: function (e) { 

        if (!e.seriesOptions) { 
         var chart = this, 
          mapKey = 'countries/lk/' + e.point.drilldown + '-all', 
          // Handle error, the timeout is cleared on success 
          fail = setTimeout(function() { 
           if (!Highcharts.maps[mapKey]) { 
            chart.showLoading('<i class="icon-frown"></i> Failed loading ' + e.point.name); 

            fail = setTimeout(function() { 
             chart.hideLoading(); 
            }, 1000); 
           } 
          }, 3000); 

         // Show the spinner 
         chart.showLoading('<i class="icon-spinner icon-spin icon-3x"></i>'); // Font Awesome spinner 

         // Load the drilldown map 
         $.getScript('https://code.highcharts.com/mapdata/' + mapKey + '.js', function() { 

          data = Highcharts.geojson(Highcharts.maps[mapKey]); 

          // Set a non-random bogus value 
          $.each(data, function (i) { 
           this.value = i; 
            console.log(i); 
          }); 


          // Hide loading and add series 
          chart.hideLoading(); 
          clearTimeout(fail); 
          chart.addSeriesAsDrilldown(e.point, { 
           name: e.point.name, 
           data: data, 
           dataLabels: { 
            enabled: true, 
            format: '{point.name}' 
           } 
          }); 
         }); 
        } 


        this.setTitle(null, { text: e.point.name }); 
       }, 
       drillup: function() { 
        this.setTitle(null, { text: 'Sri Lanka' }); 
       } 
      } 
     } 

JSFiddle链接

回答

2

的明细数据不会在Highmaps Map Collection斯里兰卡存在。如果向下滚动页面,则可以看到at the moment是唯一一个国家级别(例如admin2级别)以下数据的国家是加拿大,德国,法国,荷兰,挪威,美国。

当你点击一个地区的小提琴正试图从一个相应的URL检索数据:

mapKey = 'countries/lk/' + e.point.drilldown + '-all', 

和斯里兰卡这是失败,因为每个地区的JS文件不存在。

有一个在the Highmaps docs有关创建地图的详细信息:

Highmaps从GeoJSON的,一个开放的标准的地理特征描述 加载其地图。大多数GIS软件都支持这种格式,例如 从Shapefile或KML导出导出。请参阅API 参考中的更多内容,并参阅现场演示。

有您的地图三个基本来源:

  1. 使用我们的地图收藏。阅读地图 集合上的教程文章以开始使用。
  2. 在线地图查找SVG地图并使用我们的(实验版)在线转换器转换使用 。
  3. 使用SVG编辑器从零开始创建自己的地图 ,然后在线转换它们。阅读我们的教程 Highmaps的自定义地图。

the Highmaps Maps Collection

为了您的方便,Highmaps提供地图的免费回收, 与Highmaps使用进行了优化。对于常见的地图,它可以节省寻找或绘制合适的SVG或GeoJSON地图的麻烦。

对于Admin2的,我们只选择了编制国家,这些地图 是根据国家文件创建自己的许可证,这是SVG地图上和其他格式的文件作为元数据规定 。 如果你想念你的国家,请联系我们,我们将尝试找到合适的shapefile并生成更多的地图。

+0

我知道数据不存在!如何使其工作? – Sajeetharan

+1

您需要找到或创建其他数据集 – sheilak

+0

这很有帮助,如果您可以提供样本,这将非常有用! – Sajeetharan