Datamaps给了我一个无法读取属性'albersUsa'的undefined

时间:2016-11-03 15:39:43

标签: javascript angularjs d3.js import datamaps

尝试创建地图时出现此错误:

Datamaps error 我目前正在使用版本std::vector,这是直接来自我的"datamaps": "^0.5.8",。我还检查了实际包中的package.json以查看main指向的位置:

Datamaps package.json <code>main</code> parameter 我发现了一个相关的问题,甚至可能是同一个问题:

https://github.com/markmarkoh/datamaps/issues/259

问题是没有人说过答案是什么,有人提到只加载了一个特定的国家/地区js文件,但我检查了package.json正在加载。

1 个答案:

答案 0 :(得分:6)

这归功于D3 v4的新模块化,这使得必须flatten namespaces

  

然而,采用ES6模块有一个不可避免的后果:D3 4.0中的每个符号现在共享一个平面命名空间而不是D3 3.x的嵌套命名空间。

对于您的代码,这意味着使用d3-geo模块的某些引用无效,因为它们引用了v4中不再可用的属性:

  

Geographies (d3-geo)

     

由于数据地图已定义了对^3.5.6等D3的依赖关系,因此将包含D3 v4。但是,由于命名空间中的上述更改,您将不得不使用D3 v3