0
我對這個奇怪的標題表示歉意,描述我的問題並不容易,希望其他人需要對同一問題的解決方案最終在這裏結束。我在地圖上有一些標記;他們的x,y位置是由一些器件提供的long,lat產生的,所以一些標記重疊,因爲它們具有確切的x,y值。我試圖創建一個懸停的工具提示,將顯示所有重疊標記的名稱。這是我迄今爲止的地方。d3在鼠標懸停過濾數據後,從選擇中提取值
樣本數據集:
dataset= [
{long: -75, lat: 43, name: 'name1'},
{long: -75, lat: 43, name: 'name2'}
]
tooltip=d3.select('body').append('div')
markers=d3.selecltAll('.marker').data(dataset).enter().append()
.attr('class', 'marker')
.on('mousemove', (d)->
myv=[]
vals=projection([d.long, d.lat])
d3.selectAll('.marker').filter((d,i) ->
proj = projection([d.long, d.lat])
proj[0] < (vals[0]+5) && proj[0] > (vals[0]-5) && proj[1] < (vals[1]+5) && proj[1] > (vals[1]-5)
).text (d) ->
myv.push(d.name)
)
因此,這裏是我的問題,
1)使用文本功能推d.name在MYV數據集,工作,但感覺不對。過去幾個小時我一直在嘗試以更清潔的方式推動這項工作,但無法做到。我嘗試使用datum(d) - > myv.push(d.name),它只在第一次懸停時出於某種原因才起作用。
2)現在我有數據集myv
如何在工具提示中顯示它?
3)有沒有更好的/更清潔的方式來實現我想要做的?
預先感謝您的時間!
感謝您的支持! 。每!我到底是怎麼想的呢?我會盡快嘗試。關於工具提示,這不是我正在尋找的。我試圖將所有d.names放在每個重疊標記的一個工具提示中。 – scooterlord