是否无法将Google地图嵌入HTML电子邮件中?

时间:2014-06-22 19:40:27

标签: html google-maps iframe html-email

我做了很多research并找到了几个"解决方案"例如static maps API,只需发送一个指向Gmap的链接即可。但实际上没有办法真正向某人发送谷歌地图吗?

3 个答案:

答案 0 :(得分:31)

您自己的研究表明,大多数邮件客户都不会使用iFrame,您认为可以做些什么?

这是故意的。 iFrame和JavaScript是邮件服务不想处理的安全风险。

最好的办法是获取地图的静态图片,并将其embed作为HTML电子邮件中的图片。将超链接放在" full"谷歌地图上的地图。

要在Gmail中手动执行此操作:

  1. 转到http://staticmapmaker.com/google/或类似
  2. 输入位置
  3. 将地图图像复制到剪贴板并将其粘贴到电子邮件中
  4. 复制锚点的href部分"地图链接到Google地图"
  5. 选择整个图像(将光标放在图像的右侧,然后按 shift + 向左箭头
  6. ctrl + k 超链接图像
  7. 将步骤4中的网址粘贴到网址字段

答案 1 :(得分:1)

是的,有一种使用php和javascript的方法,您可以传递静态地图网址,并将其通过表单提交传递并在电子邮件中使用

通过javascript获取当前位置/坐标

var latlon = position.coords.latitude + "," + position.coords.longitude; var img_url = "https://maps.googleapis.com/maps/api/staticmap?center="+latlon+"&zoom=17&size=500x250&sensor=false&key=API_KEY&maptype=roadmap&markers=icon:http://maps.google.com/mapfiles/ms/icons/red-dot.png|"+latlon;

将值传递到输入字段

document.getElementById("map_image").value = img_url;

内部表单输入id = map_image并输入隐藏类型,而不是提交表单并处理下一页的发帖请求

比提交表单后的处理

$map_image_url = $_POST['map_image'];

您可以在电子邮件模板中将其用作img

$EMAILTEMPLATE .= '<img src="'.$map_image_url.'"/>';

答案 2 :(得分:0)

您可以将包含地图参数(Lat,Lgt等)的链接通过电子邮件发送到服务器上的HTML页面,该页面接受带有REST API的地图参数并在浏览器中显示完整地图。唯一的选择是使用静态地图概念。或者都可以使用,请发送静态地图图像,然后在下方发送指向HTML页面的链接,该页面接受参数,准备地图并根据用户的意愿显示真实地图。