Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Search button for Leaflet R map?

I'm using the leaflet library in R, which is a wrapper to the leaflet.js library. I'm wondering if it is possible to add a query or search button using the R interface (or some hack to the underlying code)? There are search plug-ins to the javascript library here http://leafletjs.com/plugins.html#search--popups, but I can't figure out how to get them to work with the javascript that comes out from the R library.

As a minimal example, I want to add to the following the ability to search for "location 1" in the following map, and have it display the popup:

library(leaflet)
df = read.csv(textConnection(
  'Name, Lat, Long
  <b>location 1</b>,42.3401, -71.0589
  <b>location 2</b>,42.3501, -71.0689'))

leaflet(df) %>% 
  addTiles() %>%
  setView(lng=-71.0589,lat=42.3301, zoom=12) %>%
  addMarkers(~Long, ~Lat, popup = ~Name
  )
like image 243
Devon Avatar asked Nov 02 '25 17:11

Devon


1 Answers

A complete working example of adding a search bar using the leafletplugins package is here:

devtools::install_github('byzheng/leaflet')
library(leaflet)
library(leafletplugins)

df = read.csv(textConnection(
  'Name, Lat, Long, Name2
  <b>location 1</b>,42.3401, -71.0589, Loc 1
  <b>location 2</b>,42.3501, -71.0689, Loc 2'))

leaflet(df) %>% 
  addTiles() %>%
  setView(lng=-71.0589,lat=42.3301, zoom=12) %>%
  addMarkers(~Long, ~Lat, popup = ~Name, group = 'marker', label = ~Name2) %>%
  addSearchMarker('marker', position='topleft', propertyName = 'label')
like image 153
Devon Avatar answered Nov 04 '25 05:11

Devon