Bản đồ của tôi tờ rơi trông giống như sau:Popup khi di chuột với tờ rơi trong R?
library(sp)
library(leaflet)
circleFun <- function(center = c(0,0),diameter = 1, npoints = 100){
r = diameter/2
tt <- seq(0,2*pi,length.out = npoints)
xx <- center[1] + r * cos(tt)
yy <- center[2] + r * sin(tt)
Sr1 = Polygon(cbind(xx, yy))
Srs1 = Polygons(list(Sr1), "s1")
SpP = SpatialPolygons(list(Srs1), 1:1)
return(SpP)
}
Circle.Town <- circleFun(c(1,-1),2.3,npoints = 100)
df1 <- data.frame(long=c(0.6,1,1.4), lat=c(-2, -.8, -0.2), other=c('a', 'b', 'c'), VAM=c(10,8,6),
type=c('Public', 'Public', 'Private'), id=c(1:3)) %>%
mutate(X=paste0('<strong>id: </strong>',
id,
'<br><strong>type</strong>: ',
type,
'<br><strong>VAM</strong>: ',
VAM))
# Create a continuous palette function
pal <- colorNumeric(
palette = "RdYlBu",
domain = df1$VAM
)
leaflet(height = "400px") %>%
addTiles() %>%
addPolygons(data = Circle.Town, color = 'green', fillOpacity = .7) %>%
addCircleMarkers(data = df1, lat = ~lat, lng =~long,
radius = ~VAM, popup = ~as.character(X),
fillColor = ~pal(VAM),
stroke = FALSE, fillOpacity = 0.8,
clusterOptions = markerClusterOptions()) %>%
addLegend(position = "topright",
pal = pal, values = df1$VAM,
title = "VAM",
opacity = 1
) %>%
setView(lng = 1, lat = -1, zoom = 8)
Ngay bây giờ, tôi nhận được một popup khi tôi nhấp vào một trong các vòng tròn. Có thể lấy thông tin khi tôi di chuột thay vì nhấp chuột không? Lý tưởng nhất, tôi muốn một cái gì đó như this.
Cảm ơn!
tôi đã cố gắng giải pháp này với bản đồ Tờ rơi của tôi và không nhận được một thư mục "yourmap" khi tôi sử dụng hàm saveWidget. Tất cả những gì tôi nhận được là tệp .html. Khi tôi mở nó trong Brackets (trình soạn thảo văn bản được chọn), 'var popup = ...' không có mặt. Bất kỳ đề xuất? – Lauren
@Lauren, tôi xin lỗi nhưng tôi không có quyền truy cập vào mã R của mình; Tôi không còn máy tính nữa! Nhưng khi bạn nhấp vào tệp html, bạn có bản đồ tờ rơi của mình không? Khi bạn chạy mã, bạn có cảnh báo nào không? – MLavoie
Có, bản đồ của tôi không xuất hiện khi tôi nhấp vào tệp .html. Nếu tôi mở nó bằng trình soạn thảo văn bản của tôi, có một vài chuỗi dài vô nghĩa (dường như), một tấn tọa độ, sau đó thông tin xuất hiện là thông tin bật lên. Với kinh nghiệm tương đối hạn chế của tôi khi làm việc với Leaflet trong Javascript, tôi không thực sự nhận ra cú pháp như JS. Không có cảnh báo khi tôi mở nó! – Lauren