2014-03-02 88 views
2

我已經開發了利用圖像標記物的谷歌地圖。當光標位於標記上方時,我想顯示一個信息框,但當標記靠得很近(不一定重疊)時,信息框不會顯示。D3.js鼠標懸停不活躍時,標記靠得太近

什麼控制的鼠標懸停需要標記之間的最小距離被激活?

+1

你能告訴我們的代碼嗎?一標記圖像的 –

+0

可點擊區域是由可使用marker.getShape()檢索google.maps.MarkerShape對象定義。我不知道相同的區域是否用於鼠標懸停/跳出事件。很可能是。但是,正如拉爾斯所說,最好展示一些代碼。也許問題在別的地方。 –

+1

下面是聊天,我與另一個問題FernOfTheAndes小提琴:jsfiddle.net/5XGAa/10。這與有問題的人非常相似。 – PatriciaW

回答

3

您每組標記是它自己的<svg>內的<image>。圖像可能只有16px * 16px,但SVG是160px * 20px,並且整個區域都是抓取鼠標事件。當你的標記是靠近在一起,這意味着,SVG的用於一個標記的不可見部分從貫通到下面的可見標記阻斷鼠標事件。

更改CSS忽略對<svg>鼠標事件,並僅在<image>的可見部分反應似乎有望把事情的工作:

.members svg { 
    pointer-events: none; 
} 
.members svg image { 
    pointer-events: visiblePainted; 
} 
+0

非常感謝你的頁面。還有一件事要學習。我調整了成員的CSS SVG到16x16,而不是,雖然我會考慮你的建議的情況下修改SVG不能正常工作(這似乎現在這樣做。) – PatriciaW

+0

這當然另一種方式來做到這一點!我不確定是否有任何圖形或文字需要額外的空間,所以我沒有建議它。你可能仍然會注意到角落裏看不見的重疊,但它應該更加直觀。 – AmeliaBR