2012-10-16 59 views
0

实际上,这可能更多的是Javascript问题,但由于我在d3中编码时遇到了问题,并且因为它只发生在IE9中,所以我认为它特别与d3相关用户。.map生成错误形状的多边形点列表

这里是我做的: 我开始时加入的鼠标点击到一个数组:

daLineArray.push({ x: d3.mouse(this)[0], y: d3.mouse(this)[1] }); 

从这我生成的路径,通过将所得到的阵列到 d3.svg.line发生器。这适用于所有浏览器。

然后我转动路径成多边形由第一原始数组 映射成一个较短的一个:

daLineArrayShort = daLineArray.map(function(d) { return d3.values(d) }); 

,然后送入d3.area发生器此。

在IE9, 之外的所有浏览器中都会生成一个很好的多边形,它会抱怨点列表没有正确的格式。

说实话,IE9是对的。

当我检查它的HTML生成的多边形的形式,它看起来像这样(的 数字是虚构在这种情况下):

points="10,10,20,20,30,30,40,40,etcetera" 

虽然我想应该这样看:

points="10,10 20,20 30,30 40,40 etcetera" 

换句话说,在预计空间为 的坐标对之间有逗号。

我之前就注意到了这一点,但我只是意识到这是一个问题,当我在IE9中测试了我的工作时。

所以,我的问题是:我如何产生一个正确解析的数组?

(我曾尝试直接推到分daLineArrayShort (.push([d3.event.pageX, d3.event.pageY]),但是这并没有产生 适当点列表或者 - 逗号一直支撑着。)

回答