Vietnam map with Paracel and Spratly Islands

library(sf)
Linking to GEOS 3.14.1, GDAL 3.12.1, PROJ 9.7.1; sf_use_s2() is TRUE
library(ggplot2)

Import data

link <- "https://data.opendevelopmentmekong.net/dataset/999c96d8-fae0-4b82-9a2b-e481f6f50e12/resource/2818c2c5-e9c3-440b-a9b8-3029d7298065/download/diaphantinhenglish.geojson?fbclid=IwAR1coUVLkuEoJRsgaH81q6ocz1nVeGBirqpKRBN8WWxXQIJREUL1buFi1eE"

vn_province <- sf::st_read(link)
Reading layer `OGRGeoJSON' from data source 
  `https://data.opendevelopmentmekong.net/dataset/999c96d8-fae0-4b82-9a2b-e481f6f50e12/resource/2818c2c5-e9c3-440b-a9b8-3029d7298065/download/diaphantinhenglish.geojson?fbclid=IwAR1coUVLkuEoJRsgaH81q6ocz1nVeGBirqpKRBN8WWxXQIJREUL1buFi1eE' 
  using driver `GeoJSON'
Simple feature collection with 63 features and 2 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: 102.1421 ymin: 6.953306 xmax: 116.9473 ymax: 23.3939
Geodetic CRS:  WGS 84
### OUCRU coordinate
oucru_coord <- data.frame(long = c(106.6784,105.8389),
                   lat  = c(10.7538,21.0023)) %>%
  st_as_sf(coords = c("long", "lat"), crs = 4326)
ggplot() + 
  geom_sf(data = vn_province)+
  geom_sf(data = oucru_coord, shape = 23, 
          fill = "red", size = 2)+
  theme_void()