2016-06-13 3 views
0

Я использую библиотеку листовок в R, которая является оберткой библиотеки leaflet.js. Мне интересно, можно ли добавить кнопку запроса или поиска, используя интерфейс R (или какой-то хак к базовому коду)? В библиотеке javascript есть поисковые плагины http://leafletjs.com/plugins.html#search--popups, но я не могу понять, как заставить их работать с javascript, который выходит из библиотеки R.Кнопка поиска для карты Leaflet R?

Как минимальный пример, я хочу добавить следующее возможность поиска для «место 1» на следующей карте, и он отображает всплывающее окно:

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 
) 

ответ

1

Оказывается, что существует поиск плагин для пакета R листовка: https://github.com/byzheng/leafletplugins

+0

Это решение работало , Обратите внимание, что для того, чтобы заставить код sheetletplugins работать, вы должны разблокировать самую последнюю версию листовки (а не через CRAN), используя 'devtools :: install_github ('byzheng/leaflet')' – Devon

2

полный рабочий пример добавления строки поиска с помощью пакета leafletplugins здесь:

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') 
+1

. Теперь функциональность включена в листовку .extras. – needRhelp

Смежные вопросы