2015 年 2 月 10 日 Google Maps API v3 的更改打破了使用 R 中的 plotGoogleMaps 创建的现有地图?
Change in Google Maps API v3 on Feb 10, 2015 breaks existing maps created using plotGoogleMaps in R?
更新:2015 年 4 月 15 日: Google 考虑使最新的地图 API 向后兼容以解决此问题,但发布了 "won't fix"决定。
更新:2015 年 2 月 11 日: 相信这是 Google 地图 API 实验版更新引起的问题2015 年 2 月 10 日 3.19:https://developers.google.com/maps/documentation/javascript/3.exp/reference
已与地块所有者取得联系Google地图包 - 可以确认指定 v3.18 确实生成了可以正常工作的地图。
除非 v3.19 中的问题在成为 "release" 版本之前得到解决,否则由 plotGoogleMaps 创建的 all 先前地图将不再起作用正确。
原创 Post: 这个问题是针对 R 中 plotGoogleMaps 包的用户和 Google Maps API 支持团队。
2015 年 2 月 10 日之前使用上述 R 包创建的地图从今晚(东部时间)开始表现不同。具体来说,当您单击地图上的任何其他图钉时,将使用当您单击第一个地图图钉时出现的 "info box"。
取自 Milan Kilibarda 教程的可重现 R 代码示例(此处:http://cran.r-project.org/web/packages/plotGoogleMaps/vignettes/plotGoogleMaps-tutorial.pdf)。
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.htm')
当您单击地图图钉时,打开的信息框将与为其他所有地图图钉打开的信息框相同。几个月前由 plotGoogleMaps 创建的 Htm 地图文件现在表现出同样的行为,所以我认为这是 Google Maps API 服务更改的结果。
教程中另一个曾经有效的示例是使用以下 R 代码绘制 SpatialPolygonsDataFrame:
require(plotGoogleMaps)
require(maptools)
require(RColorBrewer)
nc <- readShapeSpatial(system.file("shapes/sids.shp",package="maptools")[1],
proj4string=CRS("+proj=longlat +datum=NAD27"))
m<-plotGoogleMaps(nc,zcol="NWBIR74",filename='MyMap6.htm',
mapTypeId='TERRAIN',
colPalette= brewer.pal(7,"Reds"), strokeColor="white")
当您单击一个多边形时,信息框会在左上角打开(它应该在注册点击的位置打开)并且当您单击不同的多边形时它不会改变。顺便说一句,在过去,虽然信息框会在左上角打开,但最终会在点击 3 次后移动到点击点。到今天为止,信息框的内容没有改变。
可以通过使用 plotGoogleMaps 加载以前创建的 Google 地图来观察此行为,而不仅仅是今天创建的地图。
我认为上述问题是由 Google 端的更改引起的(因为以前创建的地图现在表现出相同的行为)。我已经在使用不同浏览器(Safari 7.1.3、Firefox 34.0.5、Chrome 40.0.2214.111)的 Mac 和使用 IE 10.0.9200.17183 的 PC 上进行了测试,结果相同。
我正在使用 R 3.1.2 和最新版本的 plotGoogleMaps。
如果 Google 地图团队的任何人读到这篇文章,请您验证是否是您这边的更新导致了此问题,如果是,我们什么时候可以修复?
提前致谢。
Google 开发人员使用 API 更改了某些内容,InfoWindows 现在无法使用 plotGooogleMaps 代码正常工作。这个问题可以通过两种方式解决:
1) 从 R-forge 安装新版本 (2.2) 的软件包(推荐,我希望它很快就会出现在 CRAN 上)
install.packages("plotGoogleMaps",repos="http://r-forge.r-project.org")
2) 如果使用 plotGoogleMaps 2.1。更改函数中的 api link 例如,如果您使用 CRAN 版本,请将 api 参数设置为版本 3.18。
# Data preparation
# Point data
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 , api="https://maps.google.com/maps/api/js?sensor=false&v=3.18")
只有在 .html (.htm) 文件中替换 api 才能解决 2014/02/10 之前制作的现有地图的问题。您应该替换行
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"> </script>
和
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&v=3.18"</script>
希望对您有所帮助。
2015 年 5 月新刊。
这个旧的 api 不再起作用了。所以,如果你用新版本复制地图你不会有问题,但如果你需要使用旧地图你应该替换这些行:
用infowindow.setContent(替换-infowindow.content=
替换 - infowindow.position =event.latLng; WITH - ); infowindow.setPosition(event.latLng);
更新:2015 年 4 月 15 日: Google 考虑使最新的地图 API 向后兼容以解决此问题,但发布了 "won't fix"决定。
更新:2015 年 2 月 11 日: 相信这是 Google 地图 API 实验版更新引起的问题2015 年 2 月 10 日 3.19:https://developers.google.com/maps/documentation/javascript/3.exp/reference
已与地块所有者取得联系Google地图包 - 可以确认指定 v3.18 确实生成了可以正常工作的地图。
除非 v3.19 中的问题在成为 "release" 版本之前得到解决,否则由 plotGoogleMaps 创建的 all 先前地图将不再起作用正确。
原创 Post: 这个问题是针对 R 中 plotGoogleMaps 包的用户和 Google Maps API 支持团队。
2015 年 2 月 10 日之前使用上述 R 包创建的地图从今晚(东部时间)开始表现不同。具体来说,当您单击地图上的任何其他图钉时,将使用当您单击第一个地图图钉时出现的 "info box"。
取自 Milan Kilibarda 教程的可重现 R 代码示例(此处:http://cran.r-project.org/web/packages/plotGoogleMaps/vignettes/plotGoogleMaps-tutorial.pdf)。
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.htm')
当您单击地图图钉时,打开的信息框将与为其他所有地图图钉打开的信息框相同。几个月前由 plotGoogleMaps 创建的 Htm 地图文件现在表现出同样的行为,所以我认为这是 Google Maps API 服务更改的结果。
教程中另一个曾经有效的示例是使用以下 R 代码绘制 SpatialPolygonsDataFrame:
require(plotGoogleMaps)
require(maptools)
require(RColorBrewer)
nc <- readShapeSpatial(system.file("shapes/sids.shp",package="maptools")[1],
proj4string=CRS("+proj=longlat +datum=NAD27"))
m<-plotGoogleMaps(nc,zcol="NWBIR74",filename='MyMap6.htm',
mapTypeId='TERRAIN',
colPalette= brewer.pal(7,"Reds"), strokeColor="white")
当您单击一个多边形时,信息框会在左上角打开(它应该在注册点击的位置打开)并且当您单击不同的多边形时它不会改变。顺便说一句,在过去,虽然信息框会在左上角打开,但最终会在点击 3 次后移动到点击点。到今天为止,信息框的内容没有改变。
可以通过使用 plotGoogleMaps 加载以前创建的 Google 地图来观察此行为,而不仅仅是今天创建的地图。
我认为上述问题是由 Google 端的更改引起的(因为以前创建的地图现在表现出相同的行为)。我已经在使用不同浏览器(Safari 7.1.3、Firefox 34.0.5、Chrome 40.0.2214.111)的 Mac 和使用 IE 10.0.9200.17183 的 PC 上进行了测试,结果相同。
我正在使用 R 3.1.2 和最新版本的 plotGoogleMaps。
如果 Google 地图团队的任何人读到这篇文章,请您验证是否是您这边的更新导致了此问题,如果是,我们什么时候可以修复?
提前致谢。
Google 开发人员使用 API 更改了某些内容,InfoWindows 现在无法使用 plotGooogleMaps 代码正常工作。这个问题可以通过两种方式解决:
1) 从 R-forge 安装新版本 (2.2) 的软件包(推荐,我希望它很快就会出现在 CRAN 上)
install.packages("plotGoogleMaps",repos="http://r-forge.r-project.org")
2) 如果使用 plotGoogleMaps 2.1。更改函数中的 api link 例如,如果您使用 CRAN 版本,请将 api 参数设置为版本 3.18。
# Data preparation
# Point data
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 , api="https://maps.google.com/maps/api/js?sensor=false&v=3.18")
只有在 .html (.htm) 文件中替换 api 才能解决 2014/02/10 之前制作的现有地图的问题。您应该替换行
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false"> </script>
和
<script type="text/javascript" src="https://maps.google.com/maps/api/js?sensor=false&v=3.18"</script>
希望对您有所帮助。
2015 年 5 月新刊。 这个旧的 api 不再起作用了。所以,如果你用新版本复制地图你不会有问题,但如果你需要使用旧地图你应该替换这些行:
用infowindow.setContent(替换-infowindow.content=
替换 - infowindow.position =event.latLng; WITH - ); infowindow.setPosition(event.latLng);