0

我正在尝试在以下位置运行以下示例plotGoogleMaps

library(plotGoogleMaps)
data(meuse)
coordinates(meuse)<-~x+y # convert to SPDF
proj4string(meuse) <- CRS('+init=epsg:28992')
# adding Coordinate Referent Sys.
# Create web map of Point data
m<-plotGoogleMaps(meuse,filename='myMap1.html')

我开始在 Google Chrome 上加载它,但它在浏览器上显示以下错误消息:

浏览器上的错误消息

4

1 回答 1

0

我刚刚在运行 Mavericks 的 Macbook Air 上使用 R 3.3.0 进行了尝试,并且能够在 Google Chrome 中成功打开地图。

鉴于您发布的日期,我相信您可能遇到了 Google 所做的更改,然后(暂时)撤消了。plotGoogleMaps 包创建一个可以在浏览器中打开的 htm 文件。htm 文件调用 Google Maps JavaScript API。

6 月 22 日,Google 进行了一项更改,导致大多数通过文件打开的地图(与从网站打开的地图相比)失败。请参阅帖子:http: //googlegeodevelopers.blogspot.com/2016/06/building-for-scale-updates-to-google.html

从本质上讲,谷歌希望未来所有谷歌地图应用程序都需要使用“api 密钥”或“客户端 ID”。由于来自用户社区的反对,谷歌暂时放弃了使用“file://”引荐来源网址打开谷歌地图而无需密钥的能力。但这不会是长期的情况。要获取 API 密钥,请查看此处:https ://developers.google.com/maps/documentation/javascript/get-api-key 。

要在 plotGoogleMaps 中使用 api 键,请使用“api”参数,如下所示:

api="https://maps.googleapis.com/maps/api/js?libraries=visualization&key=YOUR_KEY_HERE"

最后要注意的几点:

  1. plotGoogleMaps 创建可以直接作为文件打开或从网站提供的 htm 文件。如果您将地图作为文件发送给其他人(file://referer),则必须将 Google Maps api 密钥设置为允许所有 file:// 引用,因为您不知道文件在收件人计算机上的位置。从技术上讲,这会使您面临“配额盗窃”,因为您已经打开了所有 file:// 引用者的 api 密钥。谷歌正在努力解决这个问题。

  2. 在 plotGoogleMaps 中,如果您不指定filename参数,则将使用默认浏览器使用以 开头的连接打开地图http://localhost:。注意:Google 无法识别此引荐来源网址,并会显示“糟糕!出了点问题”消息。

    因为http://localhost:根据定义等同于http://127.0.0.1:,如果您更改 URL,地图将正确加载。我已经向谷歌指出了这一点,但他们告诉我,祖父推荐人的名单已经确定,http://localhosthttp://127.0.0.1没有确定。去搞清楚。

于 2016-07-24T01:11:15.293 回答