如何在 r 中的 mapview 地图上标记点
How can I label points on a mapview map in r
请帮我在 mapview 地图上标记点。我可以绘制要点。然后我想标记点 "Point A"、"Point 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)
这由 leaflet
支持,mapview
取决于 - 但 mapview 在顶部添加了其他行为。
这是 mapview
中最接近的等价物,以及如何完全按照基础 leaflet
中的要求进行操作。
注: mapview::addStaticLabels
是 leaflet::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))
mapview(points_sf) %>%
addStaticLabels(label = points$name,
noHide = TRUE,
direction = 'top',
textOnly = TRUE,
textsize = "20px")
请帮我在 mapview 地图上标记点。我可以绘制要点。然后我想标记点 "Point A"、"Point 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)
这由 leaflet
支持,mapview
取决于 - 但 mapview 在顶部添加了其他行为。
这是 mapview
中最接近的等价物,以及如何完全按照基础 leaflet
中的要求进行操作。
注: mapview::addStaticLabels
是 leaflet::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))
mapview(points_sf) %>%
addStaticLabels(label = points$name,
noHide = TRUE,
direction = 'top',
textOnly = TRUE,
textsize = "20px")