如何在 r 中的 mapview 地图上标记点

Ton*_*son 0 r r-mapview

请帮我在 mapview 地图上标记点。我可以绘制点确定。然后我想标记点“A 点”、“B 点”。我也更喜欢在没有标记点的情况下执行此操作,即我将仅使用坐标来定位标签。

library(sf)
library(mapview)
library(tidyverse)

points <- tribble(~name, ~lat, ~lon,
                     'Point A',     -38.119151, 145.401893,
                     'Point B',     -38.127870, 145.685598)

points_sf <- st_as_sf(points, coords = c("lon", "lat"), crs = 4326)

mapview(points_sf)
Run Code Online (Sandbox Code Playgroud)

zac*_*dav 6

这由 支持leaflet,为此mapview取决于 - 但 mapview 在顶部添加了其他行为。

这是最接近的等效项mapview以及如何完全按照 base 中的要求进行操作leaflet

注意: mapview::addStaticLabelsleaflet::addLabelOnlyMarkers.

library(sf)
library(mapview)
library(leaflet)
library(tidyverse)

points <- tribble(~name, ~lat, ~lon,
                  'Point A',     -38.119151, 145.401893,
                  'Point B',     -38.127870, 145.685598)

points_sf <- st_as_sf(points, coords = c("lon", "lat"), crs = 4326)

leaflet(points_sf) %>%
  addTiles() %>%
  addLabelOnlyMarkers(label =  ~name, 
                      labelOptions = labelOptions(noHide = T,
                                                  direction = 'top',
                                                  textOnly = T))
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

mapview(points_sf) %>%
  addStaticLabels(label = points$name,
                  noHide = TRUE,
                  direction = 'top',
                  textOnly = TRUE,
                  textsize = "20px")
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

  • @M.Beausoleil 它被移动到 `{leafem}` 包中。https://github.com/r-spatial/mapview/blob/2fbb31e13a8bbe1c947b246fd4df5aa4ede35f57/R/extensions.R (2认同)