在d3中获取可见地图图块的边界框/范围

时间:2016-01-02 16:20:10

标签: d3.js svg coordinates bounding-box extent

假设我有一个标准的平铺地图,如下所示:http://bl.ocks.org/mbostock/4132797

如何获取可见地图的边界框坐标?

换句话说,我怎么能准确地说出在任何给定时间显示的地图的范围。我理解这是一个边界框,但也是一个范围。

谢谢。

1 个答案:

答案 0 :(得分:0)

我能够找到类似但具体问题的答案,但是如果有人正在搜索一般情况,我会把它留下来。

来自Elijah Meeks的answer

  

要在屏幕上找到地图可视区域的边界框,   只需使用var = 5 for num in range(1, var + 1): tot = 0 tot += num print tot 功能并将其输入左上角即可   和SVG的右下角。如果你有一个500x500的SVG,那么   看起来像这样:

     

projection.invert() projection.invert([0,0])这是一个   屏幕的边界框,以lat-long(或任何坐标)   你正在使用的系统。

     

之后,您可以获取功能的界限并进行测试以查看是否   它们是完全包含的或相交的,或者具有它们的质心   那些界限。我不会在这里解释如何做到这一点,因为   这是一个不同的问题,有许多不同的答案取决于   您决定“在这些范围内”的定义。

因此,将可见区域的projection.invert([500,500])width插入投影生成器。瞧,你有盒子。