[英]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])
這是屏幕的邊框,以經緯度(或您使用的任何坐標系)為單位。之后,您可以獲取特征的邊界並進行測試,以查看它們是否完全包含或相交,或者質心是否在這些邊界內。 我不會在這里解釋如何執行此操作,因為這是一個不同的問題,取決於您確定的“在這些范圍內”的定義,因此會有許多不同的答案。
因此,將可見區域的width
和height
插入投影生成器。 瞧,你有箱子。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.