Есть 3 способа, которыми вы можете это сделать.
1) У вас есть свойство под названием «всплывающее окно» для каждой функции вашего геойсона. Если есть одна листовка будет связывать всплывающее окно для этой функции с содержимым, равным значению «всплывающего окна» свойство https://github.com/rstudio/leaflet/blob/master/javascript/src/methods.js#L493
Проблема заключается в том, если вы не один, и большинство GeoJSON не будет иметь 'popup' свойство, то вы должны добавить на стороне R. т.е. преобразовать строку geojson в список и итеративно добавить всплывающее свойство к каждой функции и преобразовать ее обратно в строку geojson.
2) Преобразование geojson в sp-объект в R и использование всплывающих функций add (PolyLines/Polygons/Markers) и т. Д. Это не плохой вариант, так как обработка sp-объектов более элегантна, чем geojson string или список.
Demo http://rpubs.com/bhaskarvk/leaflet-geojson (У меня нет всплывающих окон, там есть только ярлык, но вы получаете идею).
3) Среднее основание, используйте https://github.com/bhaskarvk/leaflet.extras addGeoJsonChoropleth(), который позволяет указать любое свойство или пользовательский JS-код для определения вашего всплывающего содержимого. , например. http://rpubs.com/bhaskarvk/geojson-choropleth
Мне нравится 3, это лучшее, что позволяет мне добавить GeoJSON без каких-либо модификаций или преобразования, требуемых на стороне R. Единственная проблема заключается в том, что окраска выполняется на стороне JS, и она использует поставляемые поддоны chroma.js, в то время как 1 и 2 позволяют использовать технику окраски, которая согласуется с другими методами добавления (Shape).
любой шанс, что вы могли бы поделиться некоторыми своими данными, чтобы сделать пример воспроизводимым? – epo3
Я думаю, вам нужно добавить 'popup = ...' в ваш вызов 'addGeoJSON()'. – TimSalabim
epo3 - файл слишком большой, чтобы делиться здесь. Но вы можете искать в сети для любого файла geojson (их много), вы можете использовать это для репликации. TimSalabim - можете ли вы быть более конкретным? – Antex