世界地图path数据反应高的图表

我正在看反应的highmaps文档,看起来他们已经硬编码/保存地图数据:

https://github.com/kirjs/react-highcharts https://github.com/kirjs/react-highcharts/tree/master/demo/src/mapdata

我在很多小教程中看到,虽然数据来自高地图本身,只是通过传递一个这样的关键

mapData: Highcharts.maps['custom/world'], 

看到这里的例子: http : //jsfiddle.net/gh/get/jquery/3.1.1/highcharts/highcharts/tree/master/samples/maps/tooltip/usehtml/

但是,鉴于我正在编写一个纯粹的reactJS / nodeJS应用程序,我想知道在纯粹的反应中是否有办法为世界地图提供path数据? 这是部署在某个地方反应高的地图?

根据官方的Highcharts文档,您必须手动包含地图脚本:

简而言之,地图的GeoJSON版本将加载到页面中的脚本标记中。 然后将此GeoJSON对象注册到Highcharts.maps对象,并将其应用于图表设置中的mapData选项。

正如您在提到的小提琴中所看到的那样,它们包含带有脚本标记的地图:

 <script src="https://code.highcharts.com/mapdata/custom/world.js"></script> 

由于上述脚本包含,地图在Highcharts.maps['custom/world']可用。

所以在React模块中,你必须手动添加所需的地图,就像你提到的demo。 例如,如果你想添加世界地图,那么:

  1. 从这里获取: https : //code.highcharts.com/mapdata/custom/world.js
  2. 在上面的文件中replaceHighcharts.maps["custom/world"] = with module.exports =
  3. 在你的组件中加载地图const map = require('./maps/world');
  4. 然后你可以在config mapData: map引用它

我明白,你想跳过上述过程,但目前没有任何包含地图的React模块。


其实有一个hackish的方式,你可以做到这一点…在你的html文件,其中包括反应脚本,你可以包括world.js脚本标记,但首先你必须确保Highcharts.maps对象数组存在。 用这种方式你可以在外面使用地图。

然而,这是一个不好的做法 ,因为你的React组件将依赖于该地图脚本。

好的做法是通过包pipe理器pipe理您的供应商模块,并引用组件中的模块。 这样的组件是自描述性的