我正在构建一个美国地图,上面有 4000 个数据点,如果可能的话,我想在 d3 中进行。我注意到一次渲染这么多点会使 Chrome 速度变慢,并使 Firefox 停止运行。我想要的是一个 redraw() 函数,它执行以下操作:
topRightCorner = [x1,y1]
bottomLeftCorner = [x2,y2]
data = data.filter(function(d) {
projectedCoordinates = proj(lat,lon)
return(projectedCoordinates[0] < x1
&& projectedCoordintes[0] > x2
&& projectedCoordinates[1] < y1
&& projectedCoordinates[1] > y2}
即只保留投影后的点(在我的情况下为albersUsa)落在可见区域中。但是,我似乎找不到投影的可见尺寸。此功能可用吗?