基本上我有一張地圖,當我將鼠標懸停在其中一個狀態以獲取顯示狀態名稱的彈出消息時,這是我迄今所做的:(這只是部分的代碼)在CSS/HTML中彈出消息
var states = map.selectAll('path.state')
.data(states.features)
.enter().append('path')
.attr('class', 'state')
.attr('id', function(d) {console.log(d);return d.id;})
.attr('d', path)
.attr("stroke","white")
.attr("stroke-width",2)
.attr('fill', 'lightgreen')
.on("mousemove",fnk)
.on("mouseout",fnk2)
當函數「fnk()
」被調用(上mousemove
),它主要強調了綠色的狀態,它存儲的名稱狀態變量「dsa
」。
function fnk() {
asd = d3.select(this).style("fill","green");
dsa = asd.data()[0].properties.gn_name;}
現在我想做出什麼是,在可變dsa
該數據被示出爲在某種彈出消息或鼠標的同時被放置在一個狀態是活動的一些矩形元件的用戶。我嘗試使用「警報」,但用戶需要點擊「確定」按鈕才能刪除該消息,並且我希望消息自行消失。
您可能想要添加更多關於您正在使用的地圖提供程序和/或jQuery插件的信息。像OpenStreetMap/OpenLayers或谷歌地圖等地圖提供商通常提供在其各自的API中創建彈出窗口/信息窗口的功能,但它們以不同的方式進行。作爲任意選擇的示例,請參閱https://developers.google.com/maps/documentation/javascript/examples/infowindow-simple Google地圖和http://dev.openlayers.org/examples/osm-marker-popup.html/http://dev.openlayers.org/examples/osm-marker-popup.js用於OpenLayers。 –
(以前的評論不適合)。此外,還有jQuery插件,您可以使用更通用的插件。這個任意選擇的網站(http://www.sitepoint.com/10-jquery-popup-window-image-slider-plugins/)列出了其中的一些,但我沒有檢查該選擇的當前情況。 –
使用包含要創建的地圖的所有請求座標的json文件。我只是試圖找到一種方式,當鼠標移動到其中一個狀態時,如何在其中添加狀態名稱的矩形。 –