【问题标题】:Could not find function "addSearchMarker"找不到函数“addSearchMarker”
【发布时间】:2026-02-11 07:20:03
【问题描述】:

我最近更改了我的服务器提供商。我有一个闪亮的应用程序,我正在使用 leaflet.extras

我安装了库(我检查了两次)但在新服务器中出现:

Error: could not find function "addSearchMarker"

我在两台服务器上都有完全相同的闪亮文件。不知道怎么回事。

你可以在这里看到它:

新:http://casadelasestrategias.com:3838/mapadevida/

旧:http://192.95.56.146:3838/mapadevida/

PD:我还使用 install.packages 和 devtools::install_github 函数安装了库

PD2:我尝试添加 leaflet.extras:::addSearchMarker 但它抛出“找不到对象”

PD3:我确定 addSearchMarker 函数来自leaflet.extras(leafletplugins 包中也有相同的函数)

PD4:我在 ui.R 和 server.R 中调用了library(leaflet.extras)

【问题讨论】:

  • 您是否有任何其他库正在加载到服务器中,如果有,它们是否正常工作?
  • @Chabo 是的!我有很多,它们工作正常(即使在其他闪亮的应用程序中)
  • 在 R studio 中使用该应用程序不会产生任何问题,对吗?
  • @Chabo 正确,它在 R 工作室中运行良好

标签: r shiny leaflet r-leaflet


【解决方案1】:

我想我找到了问题。

我安装了package("leaflet.extras")library(leaflet.extras),然后调用addSeachMarker(),程序找不到。经过一番研究,我发现这个包实际上是leafletplugins,它不适用于当前版本的R,这就是为什么当你升级到新服务器时,这个包没有被使用。

> install.packages("leafletplugins")
Warning in install.packages :
package ‘leafletplugins’ is not available (for R version 3.5.0)

更多信息,https://github.com/asmith26/leafletplugins/blob/master/man/addSearchMarker.Rd

编辑:旧版本的leaflet.extra (0.2) 在searchOSM 功能下具有addSearchMarker() 功能,但最新版本的leaflet.extras (1.0.0) 没有此功能。

【讨论】:

  • 但是我的leaflet.extras里有这个功能,看这里:ibb.co/eJFrJT我的电脑没有安装leafletplugins包
  • 你有什么版本的leaflet.extras
  • leaflet.extras 0.2 in R 3.4.4
  • 好的,所以最新版本 1.0.0 在 searchOSM 参数中没有 addSeachMarker 函数。我猜服务器正在运行 Leaflet.extras 包的更新版本,这就是为什么它可以在 R-studio 中使用旧版本,但没有新版本 1.0.0
  • 真的!我必须从源版本 0.2 安装它!谢谢!