假设我们有一个数据框geohash_df,共有两个字段:geohash、value。我们希望在地图上绘制geohash编码,并基于value填充不同的颜色。

library(geohash)
library(leaflet)

geohash_decode_df <- cbind(geohash_df, gh_decode(geohash_df$geohash)) %>%
  mutate(lng1=lng-lng_error, 
         lat1=lat-lat_error,
         lng2=lng+lng_error,
         lat2=lat+lat_error)


pal <- colorNumeric(
  palette = "OrRd",
  domain = geohash_decode_df$value)

leaflet() %>% 
  addTiles(
    'http://webrd0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
    options=tileOptions(tileSize=256, minZoom=9, maxZoom=17, subdomains="1234"),
    attribution = '&copy; <a href="http://ditu.amap.com/">高德地图</a>',
    group="高德地图"
  ) %>%
  addRectangles(data=geohash_decode_df, 
                lng1=~lng1, lat1=~lat1,
                lng2=~lng2, lat2=~lat2,
                fillColor = ~pal(value),
                fillOpacity = 0.8,
                color="black",
                opacity=1,
                weight=1
                )