2013-11-25 73 views
2

我也非常相似,這D3 example與差異是一個單一的國家,而不是整個國家的東西。我想在用戶放大到一定程度後以緯度/經度提取"view bounds",以便我可以在該區域向他們提供信息。確定經/緯度視圖邊界在D3

現在看來,這將是一些組合:

  • d3.geo.bounds/path.bounds(不帶縮放/平移考慮)
  • 的SVG的平移/縮放
  • projection.invert?

我看到一堆的例子爲使用投影()函數,但沒有在其他方向上行進(例如在地圖上點擊任意緯度/經度點笛卡爾空間 - >緯度/經度,顯示緯度/經度其與縮放/平移改變地圖等)的中心的

+0

有關您編寫的代碼問題的問題必須在問題本身中描述具體問題 - 幷包含有效代碼以再現問題。請參閱SSCCE.org以獲取指導。 –

+0

我不確定爲什麼這個問題已被標記爲脫離主題,因爲我已經包括a)一個工作示例與源代碼的鏈接,b)除了上面的解釋之外,我還試圖完成的圖形描述。還有什麼是必要的? – Bill

+0

好吧「描述特定的問題,並在問題本身**中包含有效的代碼以再現它**」。擁有迄今爲止嘗試過的代碼也很好。 –

回答

0

D3具有invert() function此。它正是你想要它做的 - 你通過它的屏幕座標,它返回未投影的座標。

此功能在投影中的一員,所以只要你使用的投影做放大/轉換,你不需要明確說明了點。要獲得角點,您可以簡單地選取中心點(您知道,因爲這是您設置縮放的方式)以及SVG的尺寸。

+0

非常感謝,我正在使用鏈接中顯示的縮放/平移方法。它「可以在平移和縮放的同時快速重繪地理特徵,而不需要重投影的開銷」,這意味着它轉換SVG本身而不是修改投影。雖然它對性能有好處,但投影對象並不知道我如何縮放/平移,因此它無法告訴我如何自行準確地反轉。 – Bill

相關問題