0
我想在美國地圖上的兩個經緯度點之間劃一條線。我有指示出發地和目的地的圓圈,但是當我嘗試繪製線時什麼也沒有出現。沒有錯誤被拋出。地圖上兩個投影點之間的繪製線 - 無線顯示 - D3.js
我能夠通過寫作手動繪製這些點之間的連線:
svg.selectAll("line")
.data(data)
.enter()
.append("line")
.attr("x1", projection(data[0])[0])
.attr("y1", projection(data[0])[1])
.attr("x2", projection(data[1])[0])
.attr("y2", projection(data[1])[1])
.attr("stroke-width", 1)
.attr("stroke", "black");
但這是一種不可持續的做法,因爲我的數據集將包括成千上萬的緯度/經度對。
希望有人能指出我的代碼在正確的方向。我希望我接近,因爲沒有錯誤被拋出。或者,也許我正在採取一種可怕的方法來繪製點之間的線條,在這種情況下,有人在兔子洞之前讓我知道。這是我的代碼工作Plunker。
在此先感謝。
謝謝Eric。我不知道爲什麼沒有想到。你確實使用了一些我不熟悉的語法。箭頭符號與我在圓圈創建中使用的'function(d)'類似嗎? –
是的,這是ES6的箭頭功能。有一些細微的差異。如果你對它們不滿意,你可以將'd => projection(d [0])[0]'轉換爲'function(d){return projection(d [0])[0]}''。看看它有多簡潔? –