¿No hay forma de incrustar un mapa de Google en un correo electrónico HTML?
He hecho una buena cantidad de investigación y he encontrado varias "soluciones" como la API static maps y simplemente enviando un enlace a un Gmap. Sin embargo, ¿realmente no hay manera de enviar a alguien un mapa de Google?
2 answers
Bueno, su propia investigación muestra que la mayoría de los clientes de correo no hacen iFrames, así que ¿qué cree que se puede hacer?
Esto es a propósito, por cierto. iFrames y JavaScript son riesgos de seguridad que los servicios de correo no quieren tratar.
Lo mejor es obtener una imagen estática del mapa y incrustarla como una imagen en un correo electrónico HTML. Ponga un hipervínculo en él al mapa "completo" en Google Maps.
Para hacer esto manualmente en Gmail:
- Ir a http://staticmapmaker.com/google / o similar
- Introduzca la ubicación
- Copie la imagen del mapa en su portapapeles y péguela en un correo electrónico
- Copia el
href
del ancla en la sección "Mapa con enlace a Google Maps" - Seleccione la imagen completa (coloque el cursor a la derecha de la imagen y presione shift + flecha izquierda
- Pulse ctrl+k para el hipervínculo de imagen
- Pegue la url del paso 4 en el campo de dirección web
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:26:15
Puede crear un mapa de imagen estática 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 como esto en la parte HTML 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 probar y funciona como un encanto.
Código de ejemplo:
#!/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");
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-12 07:21:47