2013-05-01 31 views
0

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

重现问题: 1.选择'Number of Students'滑杆到5300-6545,Leaftlet地图上的两点只显示一半。 2.点击第一个表格行,地图会放大到该点,但动画脉冲被切断。

任何建议,非常感谢。

感谢 晓明

回答

0

我有这个问题为好,并找到了解决办法。引用mbostock的sample code你只需要填充的一点点添加到计算每次复位被称为投影边框:

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]