【问题标题】:Get bounding box / extent of visible map tiles in d3获取d3中可见地图图块的边界框/范围
【发布时间】:2016-04-06 16:42:48
【问题描述】:

假设我有一个像这样的标准平铺地图:http://bl.ocks.org/mbostock/4132797

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

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

谢谢。

【问题讨论】:

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


    【解决方案1】:

    我能够找到类似但具体问题的答案,但如果有人正在搜索一般案例,我会留下这个答案。

    来自 Elijah Meeks 的answer

    要在屏幕上找到地图可视区域的边界框, 只需使用projection.invert() 函数并将其输入到左上角 和 SVG 的右下角。如果你有一个 500x500 的 SVG,那么 看起来像这样:

    projection.invert([0,0])projection.invert([500,500])这是一个 屏幕的边界框,以经纬度(或任何坐标 您正在使用的系统)。

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

    因此,将可见区域的widthheight 插入投影生成器。瞧,你有盒子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-12
      • 2019-08-10
      • 2014-11-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-02
      相关资源
      最近更新 更多