The readMVT package supports reading vector data (points, lines, polygons) served as Mapbox Vector Tiles (MVT) by a GeoServer. It is designed to work with Leaflet under Shiny, but should work fine in simpler situations. Vector data are returned as sf objects, so it's possible to process vector data in R and return attributes as popups within Leaflet.
readMVT includes functions to query data sources and capabilities on a GeoServer, to obtain metadata on specific featuress, to translate latitude-longitude to MVT tile rows and columns, to read a tile, and to read all tiles in the current viewport.
You can install the development version of readMVT from GitHub with:
if(!require('remotes'))
install.packages('remotes')
remotes::install_github('bwcompton/readMVT')
For a detailed example, see vignette('shiny-example')
.