0

在一个应用程序中,我同时拥有 d3 地图和传单地图,我按照 Mike 的代码同步它们(http://bost.ocks.org/mike/leaflet/)并在传单地图上绘制 svg 点。问题是 SVG 容器边缘的某些点被截断,而稍后添加的其他 SVG 元素(在本例中为动画脉冲)只会部分显示。我想知道是否有办法根据绑定的特征(点)来扩展 SVG 容器。

一个工作演示在这里:http: //xqin1.github.io/usschools/usac_school_stat.html,重现问题:1.选择“学生人数”滑块为5300-6545,仅Leaftlet地图上的两个点显示一半。2. 点击第一行,地图会放大到该点,但动画脉冲被切断。

任何建议都受到高度赞赏。

谢谢小明

4

1 回答 1

0

我也遇到了这个问题,找到了解决办法。参考 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] 
于 2013-06-13T06:19:48.997 回答