在echarts4r地图上添加点

编程语言 2026-07-10

我正在使用 echarts4r 包来绘制一个漂亮的地理地图。现在我想在地图上添加一些城市的散点。遗憾的是,我不太明白为什么这些点没有显示。下面给出一个可复现的示例:

library(echarts4r)
library(httr)

url <- paste0("https://service.pdok.nl/cbs/gebiedsindelingen/2024/wfs/v1_0?request=GetFeature&service=WFS&typeName=gebiedsindelingen:gemeente_gegeneraliseerd&outputFormat=json&version=2.0.0&srsname=urn:ogc:def:crs:EPSG::4326")

geo_data <- httr::GET(url) %>%
  httr::content()  

locations <- data.frame(
  name = c("Amsterdam", "Utrecht"),
  lon = c(4.9041, 5.1214),
  lat = c(52.3676, 52.0907)
)

locations |>
  e_charts(lon) |>
  echarts4r::e_map_register("NL", geo_data) |>
  e_map(map = "NL", nameProperty = "statnaam") |>
  e_scatter(lat, name = "City", symbol_size = 5, coord_system = "geo")

输出如下:

enter image description here

正如所看到的,我们确实尝试添加了一些带图例的点,并使用了 coord_system="geo",但绘图没有显示。因此,我想请教大家,是否有人知道如何使用 echarts4r 向地图添加点?

解决方案

请改用 e_geo,就像John Coene在 Docu-examples这里 中所做的那样

library(echarts4r)

geo_data <- httr::GET("https://service.pdok.nl/cbs/gebiedsindelingen/2024/wfs/v1_0?request=GetFeature&service=WFS&typeName=gebiedsindelingen:gemeente_gegeneraliseerd&outputFormat=json&version=2.0.0&srsname=urn:ogc:def:crs:EPSG::4326") |>
  httr::content()  

locations <- data.frame(
  name = c("Amsterdam", "Utrecht"),
  lon = c(4.9041, 5.1214),
  lat = c(52.3676, 52.0907)
)

locations |>
  e_charts(lon) |>
  echarts4r::e_map_register("NL", geo_data) |>
  e_geo(map = "NL", nameProperty = "statnaam") |>
  e_scatter(lat, name = "City", symbol_size = 5, coord_system = "geo")

res

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章