簡體   English   中英

在d3中獲取可見地圖圖塊的邊界框/范圍

[英]Get bounding box / extent of visible map tiles in d3

假設我有一個像這樣的標准平鋪地圖: http : //bl.ocks.org/mbostock/4132797

如何獲取可見地圖的邊界框坐標?

換句話說,我該如何准確說出在任何給定時間顯示的地圖范圍。 我將其理解為邊界框,也將其理解為范圍。

謝謝。

我能夠找到類似但特定問題的答案,但如果有人正在尋找一般情況,我就不用回答了。

從以利亞·米克斯的回答中可以看出:

要在屏幕上找到地圖可視區域的邊界框,只需使用projection.invert()函數,然后將其輸入SVG的左上角和右下角即可。 如果您有500x500 SVG,則如下所示:

projection.invert([0,0]) projection.invert([500,500])這是屏幕的邊框,以經緯度(或您使用的任何坐標系)為單位。

之后,您可以獲取特征的邊界並進行測試,以查看它們是否完全包含或相交,或者質心是否在這些邊界內。 我不會在這里解釋如何執行此操作,因為這是一個不同的問題,取決於您確定的“在這些范圍內”的定義,因此會有許多不同的答案。

因此,將可見區域的widthheight插入投影生成器。 瞧,你有箱子。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM