我能够使用这两个包来搜索地图上的标记。但是,我刚刚将它们安装在我的新计算机上,但搜索按钮现在不起作用。如何搜索标记? 谢谢
# We need latest leaflet package from Github, as CRAN package is too old.
devtools::install_github('rstudio/leaflet')
devtools::install_github('bhaskarvk/leaflet.extras')
library("leaflet")
library("leaflet.extras")
cities <- read.csv(textConnection("
City,Lat,Long,Pop
Boston,42.3601,-71.0589,645966
Hartford,41.7627,-72.6743,125017
New York City,40.7127,-74.0059,8406000
Philadelphia,39.9500,-75.1667,1553000
Pittsburgh,40.4397,-79.9764,305841
Providence,41.8236,-71.4222,177994
"))
leaflet(cities) %>% addProviderTiles(providers$OpenStreetMap) %>%
addCircleMarkers(lng = ~Long, lat = ~Lat, weight = 1, fillOpacity=0.5,
radius = ~sqrt(Pop)/50 , popup = ~City, label=~City, group
='cities') %>%
addResetMapButton() %>%
addSearchFeatures(
targetGroups = 'cities',
options = searchFeaturesOptions(
zoom=12, openPopup = TRUE, firstTipSubmit = TRUE,
autoCollapse = TRUE, hideMarkerOnCollapse = TRUE )) %>%
addControl("<P><B>Hint!</B> Search for ...<br/><ul><li>New York</li>
<li>Boston</li><li>Hartford</li><li>Philadelphia</li><li>Pittsburgh</li>
<li>Providence</li></ul></P>",
position='bottomright')
答案 0 :(得分:1)
使用您提供的相同示例,我遇到了同样的问题。我能够弄清楚,由于某些原因,https://...../Test/*
不能与addSearchFeatures()
一起使用,但是可以与addCircleMarkers()
一起使用。因此,我使用了一种变通方法,该方法实际上两次绘制相同的数据:第一次使用addMarkers()
进行所需的格式设置,第二次使用addCircleMarkers()
进行定制的图标很小,无法在其上看到地图。关键是将每个分配给适当的addMarkers()
。搜索栏将搜索“不可见”标记层,但“ CircleMarkers”将显示在地图上。
group
答案 1 :(得分:0)
我遇到了这个问题,并在leaflet.extras
Github issues page上找到了解决方案。
在安装leaflet.extras
时:
打开lfx-search-prod.js并搜索“ e instanceof t.Path ||” ,然后将其删除并保存文件。您的CircleMarker搜索现在应该可以使用
这应该允许您将addSearchFeature()
与addCircleMarkers()
一起使用,而无需任何变通方法。