template simple por plantilla para inserter for enviar electronico correo codigo html google-maps iframe html-email

simple - ¿No hay forma de insertar un mapa de Google en un correo electrónico HTML?



plantilla html para gmail (2)

Bueno, su propia investigación muestra que la mayoría de los clientes de correo no hacen iFrames, entonces, ¿qué creen que se puede hacer?

Esto es a propósito por cierto. iFrames y JavaScript son riesgos de seguridad que los servicios de correo no desean tratar.

Su mejor opción es obtener una imagen estática del mapa e embed como una imagen en un correo electrónico HTML. Coloque un hipervínculo en el mapa "completo" en Google Maps.

Para hacerlo manualmente en Gmail:

  1. Vaya a http://staticmapmaker.com/google/ o similar
  2. Ingrese la ubicación
  3. Copia la imagen del mapa en tu portapapeles y pégala en un correo electrónico
  4. Copie el href del ancla en la sección "Mapa con enlace a Google Maps"
  5. Seleccione la imagen completa (coloque el cursor a la derecha de la imagen y presione shift + flecha izquierda
  6. Presione ctrl + k para hipervincular la imagen
  7. Pegue la url del paso 4 en el campo Dirección web

He realizado una buena research y he encontrado varias "soluciones" como la API de mapas estáticos y simplemente el envío de un enlace a un Gmap. Sin embargo, ¿realmente no hay manera de enviar a alguien un mapa de Google?


Puede crear un mapa de imágenes estáticas y enviarlo por correo electrónico, haciéndolo en Perl: https://metacpan.org/pod/Geo::Google::StaticMaps::V2

o simplemente directamente por Google: https://developers.google.com/maps/documentation/static-maps/

Debería ser algo así en HTML parte del correo electrónico:

<img src="http://maps.googleapis.com/maps/api/staticmap?size=800x600&maptype=hybrid&scale=2&format=png8&sensor=false&path=geodesic%3Atrue%7C-6.9325%2C+37.3916666666667%7C-6.9325%2C+37.3933333333333%7C-6.93388888888889%2C+37.3933333333333%7C-6.93388888888889%2C+37.3916666666667%7C-6.9325%2C+37.3916666666667&zoom=10" width="800" height="600"/>

Acabo de probarlo y funciona como un encanto.

Código de muestra:

#!/usr/bin/perl use strict; use warnings; use feature '':5.10''; use utf8; use Geo::Converter::dms2dd qw { dms2dd }; use Geo::Google::StaticMaps::V2; my $map = Geo::Google::StaticMaps::V2->new( width => 800, height => 600, sensor => 0, scale => 2, zoom => 16, format => "png8", type => "hybrid" ); binmode(STDOUT, ":encoding(UTF-8)"); binmode(STDIN, ":encoding(UTF-8)"); $| = 1; my %c; $c{1} = [ ''-6 55 57.00'', ''37 23 30.00'' ]; $c{2} = [ ''-6 55 57.00'', ''37 23 36.00'' ]; $c{3} = [ ''-6 56 02.00'', ''37 23 36.00'' ]; $c{4} = [ ''-6 56 02.00'', ''37 23 30.00'' ]; $c{5} = [ ''-6 55 57.00'', ''37 23 30.00'' ]; my @location; foreach my $key (sort keys %c) { $c{$key}[0] = dms2dd ({value => $c{$key}[0], is_lat => 1}); $c{$key}[1] = dms2dd ({value => $c{$key}[1], is_lon => 1}); push(@location, "$c{$key}[0], $c{$key}[1]"); } my $path = $map->path(locations=>[ @location ], geodesic=>1); print $map->url; $map->image; $map->save("/home/data1/protected/map.png");