通过电子邮件发送谷歌静态地图

Posted

技术标签:

【中文标题】通过电子邮件发送谷歌静态地图【英文标题】:Send google static map via email 【发布时间】:2015-05-20 23:50:15 【问题描述】:

我可以在我的网站中显示谷歌静态地图图像。 我创造了

<img src="url"/> 

在电子邮件中使用相同的 url。图像的显示方式非常不同(即世界地图)。

我检查了 chrome 中的元素,我看到邮件服务器在它前面添加了一个“代理”url(https://ci6.googleusercontent.com/proxy...)并更改了元素标签(例如 &= &)。

我手动删除了代理,但没有帮助。 我将 '& 更改为 & 并没有帮助。 只有当我手动将元素更改为原始 URL 时,我才能看到正确的图像。

有没有办法通过电子邮件发送?


现在我有更多数据可以解释这个问题。 我创建了另一个图像并将其显示在 IE 浏览器中 - 它工作正常,显示正确的图像。我试图在 Chrome 中显示它,它返回和error: 400。这是一个错误。您的客户发出了格式错误或非法的请求。这就是我们所知道的。

【问题讨论】:

现在我有更多数据可以解释这个问题。我创建了另一个图像并将其显示在 IE 浏览器中 - 它工作正常,显示正确的图像。我尝试在 Chrome 中显示它,它返回错误:400。这是一个错误。您的客户发出了格式错误或非法的请求。这就是我们所知道的。 【参考方案1】:

这是violation 的 Google 静态地图 API 服务条款。 您不能通过电子邮件共享(作为附件阅读)静态地图图像。在使用任何服务/工具之前,请小心并阅读重要文档。

然而,它可以通过&lt;img src=""&gt; 元素嵌入到 html 中。

编辑

Google Maps API 常见问题解答中的逐字记录(链接在上面内联共享):

我可以使用 Google Static Maps API 生成地图图像吗? 从我的网站存储和提供服务?

您不得存储和提供服务 使用 Google Static Maps API 从您的 网站。所有需要静态图片的网页都必须链接src HTML img 标签的属性或 CSS background-image 属性 一个 HTML div 标签直接连接到 Google Static Maps API,以便所有地图 图像显示在网页的 HTML 内容中,并且 由 Google 直接提供给最终用户。

编辑 2

对不起,我在这里回答时似乎误解了原始查询。这NOT 违反了 Google 的 ToS,但只要这些静态地图的图像没有存储在系统中的某个位置,这是一个有效的用例。

【讨论】:

我不明白通过电子邮件发送指向静态图片的链接如何违反 Google 的静态地图服务条款。请解释一下。 你去。唯一允许的用例是将其嵌入并直接提供给最终用户。 除非我误解了这个问题,否则 OP 会询问如何通过电子邮件显示生成的静态地图图像。这与所述图像的“存储和提供副本”有什么关系? OP 遇到的麻烦似乎更符合:***.com/questions/20903967 是的,对不起,我好像误会了。但是,如果您看到 OP 的第一篇文章,那么它现在看起来并不那么清楚。直到我看到你的评论,我才回到这个话题。感谢您的澄清。嘿,如果有人打算以这种方式使用它,那么迭代 ToS 并没有什么坏处。 :)【参考方案2】:

如果您使用 google 静态地图 api (maps.googleapis.com/maps/api/staticmap) 生成图像,则可以通过电子邮件发送静态地图。根据 Google 的服务条款,您不能将图像存储在您的服务器中。

【讨论】:

以上是关于通过电子邮件发送谷歌静态地图的主要内容,如果未能解决你的问题,请参考以下文章

无法通过谷歌API发送邮件

需要JS帮助 - 观看谷歌工作表专栏,通过Gmail发送更新价值的电子邮件

使用 System.Net.Mail 通过谷歌发送 smtp 邮件给我一个超时异常

如何通过电子邮件发送 CLLocationCoordinate2D 作为链接

如何通过电子邮件以ChartType格式发送谷歌脚本创建的图表,以帮助用户查看图表中各点的值?

如果邮件的协议是 SMTP,为啥谷歌邮件服务以 https 开头?