有没有办法用 plotGoogleMaps 设计一个地图,该地图有一个控制相同变量层的图例?
以gstat包中的 meuse 数据集为例,目标是为每种土地利用类型获取一个厚盒。因此,让用户决定要查看哪一层,或者一层一层,或者选择几个或全部:
# Data Preparation
library(sp)
data(meuse)
coordinates(meuse)<-~x+y
proj4string(meuse) <- CRS('+init=epsg:28992')
ic=iconlabels(meuse$landuse, height=12)
m<-plotGoogleMaps(meuse,zcol='landuse',filename='Map.htm', iconMarker=ic)
最好的解决方案是命令按变量的值进行细分......
或者,我们是否需要为每一层(全部 15 个)创建一个地图,然后将它们加在一起?这会是实现这一目标的更方便的方法吗?我有一个超过300层的项目......
#Alternative the long way : Example with 3 landuse values
data(meuse)
list <- list(unique(meuse$landuse)) #list all 15 landuse values
Ah <- subset(meuse, landuse == "Ah")
coordinates(Ah)<-~x+y
proj4string(Ah) <- CRS('+init=epsg:28992')
ic=iconlabels(Ah$landuse, height=12)
m.Ah<-plotGoogleMaps(Ah,zcol='landuse', legend=FALSE, filename='MapAh.htm', iconMarker=ic, add=TRUE)
Fw <- subset(meuse, landuse == "Fw")
coordinates(Fw)<-~x+y
proj4string(Fw) <- CRS('+init=epsg:28992')
icf=iconlabels(Fw$landuse, height=12)
m.Fw<-plotGoogleMaps(Fw,zcol='landuse',legend=FALSE, filename='MapFw.htm', iconMarker=icf, previousMap=m.Ah, add=TRUE)
W <- subset(meuse, landuse == "W")
coordinates(W)<-~x+y
proj4string(W) <- CRS('+init=epsg:28992')
icw=iconlabels(W$landuse, height=12)
m.W<-plotGoogleMaps(W,zcol='landuse', legend=TRUE, filename='MapFw.htm', iconMarker=icw,previousMap=m.Fw)
第二个最好的解决方案是循环这一切。