世界地图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。 例如,如果你想添加世界地图,那么:
- 从这里获取: https : //code.highcharts.com/mapdata/custom/world.js
- 在上面的文件中replace
Highcharts.maps["custom/world"] =
withmodule.exports =
。 - 在你的组件中加载地图
const map = require('./maps/world');
- 然后你可以在config
mapData: map
引用它
我明白,你想跳过上述过程,但目前没有任何包含地图的React模块。
其实有一个hackish的方式,你可以做到这一点…在你的html文件,其中包括反应脚本,你可以包括world.js脚本标记,但首先你必须确保Highcharts.maps对象数组存在。 用这种方式你可以在外面使用地图。
然而,这是一个不好的做法 ,因为你的React组件将依赖于该地图脚本。
好的做法是通过包pipe理器pipe理您的供应商模块,并引用组件中的模块。 这样的组件是自描述性的