4

我正在编写与谷歌地图一起使用的网络应用程序,我需要生成 PDF 输出,所以我决定使用静态 API。我的应用程序将使用一组 1500 个小地图图像 (100*100px)。我不想每天向谷歌询问每张图片上千次,所以我编写了一个脚本来下载所有图片并将其保存到我的服务器上,从那里使用图片。下载 300 张图片后,我的服务器收到此错误:

Warning: readfile(http://maps.googleapis.com/maps/api/staticmap?size=100x100&maptype=roadmap&markers=icon:http://mediup.martinstrouhal.cz/arrs/210.png%7Cshadow:false%7C50.078522,14.436551&sensor=false&zoom=16) [function.readfile]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden

这是否意味着谷歌永久阻止我?

4

4 回答 4

6

您缺少 API 密钥。

不包含您的 API 密钥 Streetview Images API 被 IP 限制为每 24 小时 1000 张图像和每分钟 5 张图像,如果您不使用该密钥,您可能会遇到这两种情况。使用密钥您可以每天拉取 25000 张图像

格式应为: http ://maps.googleapis.com/maps/api/streetview?size=400x400&location=40.720032,-73.988354&sensor=false&key=API_KEY

街景文档包括如何获取 API 密钥。 https://developers.google.com/maps/documentation/streetview/?csw=1

于 2013-12-30T12:28:32.993 回答
3

It's likely that Google Maps has a throttle on it that will cut off anyone abusing the API. Since you are just storing the images, put a random wait in between each request and let it run for a long time until you get all the images you need.

于 2011-11-30T17:28:52.607 回答
3

这取决于您是使用静态地图 API 还是直接访问磁贴。

Google 禁止直接访问磁贴,因此如果服务器怀疑您正在拉下磁贴进行缓存,他们会阻止您。出于安全原因,他们没有说明对此的限制。

静态地图每个 IP 地址每天限制为 2500 个,但限制每秒可以拉下多少个。

在任何情况下,使用静态地图或直接切片访问来保存图像以供以后使用都违反了 Google 的 ToS。

于 2011-11-30T21:59:12.343 回答
1

根据谷歌搜索的许多消息来源 - 禁令持续 24 小时,但没有找到真正的官方答案。

也许你可以告诉我们你的禁令有多长时间。

于 2012-02-16T09:28:08.103 回答