R传单搜索标记不起作用

时间:2018-04-15 18:37:29

标签: r search leaflet markers

我能够使用这两个包来搜索地图上的标记。但是,我刚刚将它们安装在我的新计算机上,但搜索按钮现在不起作用。如何搜索标记? 谢谢

# 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')

SS of Search Bar

2 个答案:

答案 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()一起使用,而无需任何变通方法。