来自 ggmap 的地理编码在闪亮的服务器上失败

geocode from ggmap fails on shiny server

我有一个应用程序,用户可以在其中提供特定地址和应用程序 returns 地理编码,稍后用于对数据进行子集化。

代码片段很简单:

library(ggmap)
geocode("2020 walnut street pa")

当我 运行 在我的本地机器上时,它工作得很好。我得到以下输出:

Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=2020%20walnut%20street%20pa&sensor=false
        lon      lat
1 -75.17508 39.95034

然而,当我 运行 在闪亮的服务器上使用相同的代码时,出现以下错误:

> library(ggmap)
Loading required package: ggplot2
> geocode("2020 walnut street pa")
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=2020%20walnut%20street%20pa&sensor=false
  lon lat
1  NA  NA
Warning messages:
1: In readLines(connect, warn = FALSE) :
  URL 'http://maps.googleapis.com/maps/api/geocode/json?address=2020%20walnut%20street%20pa&sensor=false': status was 'Couldn't connect to server'
2: In geocode("2020 walnut street pa") :
    geocoding failed for "2020 walnut street pa".
  if accompanied by 500 Internal Server Error with using dsk, try google.
> 

我想这与某些权限问题有关,但我不知道需要做什么。谁能帮助我了解这里需要做什么?

我找到了解决办法。 在闪亮的应用程序 (global.R) 中,我设置了

Sys.setenv(http_proxy="http://corp.com:8080")

这解决了代理问题,服务器能够连接 google api。