同步d3.js地图和传单地图

同步d3.js地图和传单地图,d3.js,leaflet,D3.js,Leaflet,在一个应用程序中,我有d3地图和传单地图,我按照Mike的代码同步它们()并在传单地图上绘制svg点。问题在于,在SVG容器边缘截断的一些点,以及随后添加的其他SVG元素(本例中为动画脉冲)将仅部分显示。我想知道是否有必要根据绑定的特性(点)扩展SVG容器 此处有一个工作演示:,用于重现问题: 1.选择“学生人数”滑条至5300-6545,Leaftlet地图上的两点仅显示一半。 2.单击第一个表格行,贴图将缩放到该点,但动画脉冲被切断 非常感谢您的任何建议 谢谢 小明我也遇到了这个问题,并找到

在一个应用程序中,我有d3地图和传单地图,我按照Mike的代码同步它们()并在传单地图上绘制svg点。问题在于,在SVG容器边缘截断的一些点,以及随后添加的其他SVG元素(本例中为动画脉冲)将仅部分显示。我想知道是否有必要根据绑定的特性(点)扩展SVG容器

此处有一个工作演示:,用于重现问题: 1.选择“学生人数”滑条至5300-6545,Leaftlet地图上的两点仅显示一半。 2.单击第一个表格行,贴图将缩放到该点,但动画脉冲被切断

非常感谢您的任何建议

谢谢
小明

我也遇到了这个问题,并找到了解决办法。参考mbostock,您只需在每次调用reset时计算的投影边界框中添加一点填充:

   var bottomLeft = project(bounds[0]),
       topRight = project(bounds[1]);
插入如下内容(就在上述声明之后):

   var padding = 25;  // In pixels, choose large enough to prevent edge clipping
                      // of your largest element

   bottomLeft = [bottomLeft[0]-padding, bottomLeft[1]+padding]
   topRight = [topRight[0]+padding, topRight[1]-padding]