d3.js转换仅在转换时删除

时间:2015-11-05 13:43:31

标签: javascript d3.js transition

我有一个带有映射圆的d3.js equirectangular投影。单击菜单后,地图将变为带有过渡的正交投影。 在过渡期间,我想删除圆圈并在过渡结束时重绘它们。删除工作正常,但我不知道如何再次呼叫圈子。

以下是更改功能的代码:

      function update(option) {
      var path = d3.geo.path()
        .projection(option.projection);

        svg.selectAll("path").transition()
              .duration(3000)
              .attr('d', path)
              .each("start", function() { svg.selectAll("circle").remove("circle"); //remove all circles on end
                                  })
              .each("end", function() { svg.append("circle")
                               .attr("circle")
                               .attr("cx", function(d) {
                                  return projection([d.long, d.lat])[0];
                               })
                               .attr("cy", function(d) {
                                  return projection([d.long, d.lat])[1];
                               })
                               .attr("r", function(d) {
                                  if(d.capacity == '-'){return 0}
                                  return rScale(parseInt(d.capacity));  
                               })
                             });
                             }

感谢您的帮助。

0 个答案:

没有答案