我的Shiny App中的easybutton宣传单片插件有些麻烦。 我想要做的是在点击easybutton时重新点入我的点图层上的视图:
...
addCircleMarkers(lng = points$long,
lat = points$lat,
weight = 1, radius = 4,
group = "points",
...
addEasyButton(easyButton(
icon = 'ion-arrow-shrink',
title = 'Reset view',
onClick = JS("function(btn, map) {map.fitBounds(points.getBounds()); }")
))
但它不起作用:在JS控制台中打印“未定义点”。
如何获得我的点图层的真实传单名称(JS)?
谢谢。
答案 0 :(得分:1)
尽管是一个组名,points
未在javascript中定义 - 您需要使用layerManager来查找图层 - 并且将图层名称从R传递给js并不像人们希望的那样简单。
这在文档中不是很清楚,但您应该可以像标记一样设置标记的组名,然后像这样访问它:
onClick = JS("function(btn, map) {
var groupLayer = map.layerManager.getLayerGroup('groupName');
}")
要获得你应该能够使用的界限:
onClick = JS("function(btn, map) {
var groupLayer = map.layerManager.getLayerGroup('groupName');
map.fitBounds(groupLayer.getBounds());
}")