四、标记addMarkers(leaflet地图,数据)df = data.frame(df%>%leaflet()%>%addTiles()%>% addMarkers()lat/latitude 以及 lon/lng/long/longitude)的话,是不用显示去声明的,系统会去自动查找,然后作为经度、纬度来进行使用。
下面我们来加载一批数据看看:
这是一批北京市三级医院的数据,需要这份示例数据的,可以通过公众号获取虾神的邮箱,然后发送邮件给我获取。bj3H <- read.csv("E:/bj3H.csv")dh <- data.frame(cbind(x=bj3H$Longitude,y=bj3H$Latitude,mc=as.character(bj3H$mc)))
内容如下:
leaflet(dh)%>%addProviderTiles("Esri.WorldStreetMap")%>%setView(116.4,39.9,zoom=10)%>%addMarkers(~x,~y,popup=~mc)
makeIcon这个方法,来定义一个图标,注意里面Url必须是要用http模式,我这里用csdn提供的免费图床,本地硬盘上的图片好像是不能直接用的。(ps:如果不想用互联网的图床,也可以在本地开启一个web服务器,使用url方式来引用)。iconUrl : 图标的url地址iconWidth :图标的宽度iconHeight: 图标的高度iconAnchorX :图标的中心点x轴偏移(以左上角为0,0)iconAnchorY :图标的中心点Y轴偏移(以左上角为0,0)redIcon <- makeIcon(
redIcon1 <- makeIcon(
ifelse()函数进行设定,如下所示:(为了表示是重新运行过的,换个底图)leafIcons <- icons(
修改符号大小神马啊,设定符号等级啊神马的,我这里就不一一说明了,大家有兴趣自己玩。iconList的方法来处理。
yyIcons <- iconList(
leaflet(bj3H) %>%addProviderTiles("CartoDB.Positron") %>%
addCircles()和addCircleMarkers()leaflet(bj3H) %>%addProviderTiles("CartoDB.Positron")%>%addCircles()
leaflet(bj3H) %>%addProviderTiles("CartoDB.Positron")%>%addCircles(color="red",weight=bj3H$ks/2)
leaflet(bj3H) %>%addProviderTiles("CartoDB.Positron")%>%addCircleMarkers()
leaflet(bj3H) %>%addProviderTiles("CartoDB.Positron")%>%addCircleMarkers(color="red",weight=bj3H$ks/2)
leaflet()%>%addTiles()%>%addProviderTiles("CartoDB.Positron")%>%
leaflet()%>%addTiles()%>%addProviderTiles("CartoDB.Positron")%>%
pal <- colorFactor(c("green", "red"), domain = c("三级", "三级甲等"))
cPal <- colorNumeric(palette = c("blue","yellow","red"),domain = bj3H$cws)
addLegend("bottomright", pal = cPal, values = ~cws,title = "床位数",labFormat = labelFormat(suffix = "张"),opacity = 1)
待续未完。