wake-up-neo.net

Gibt es keine Möglichkeit, eine Google Map in eine HTML-E-Mail einzubetten?

Ich habe eine Menge von Recherchen durchgeführt und mehrere "Lösungen" gefunden, wie beispielsweise die static maps API und einfach einen Link zu einer Gmap. Gibt es wirklich keine Möglichkeit, jemandem tatsächlich eine Google Map zu senden?

32
TR3B

Ihre eigenen Untersuchungen zeigen, dass die meisten E-Mail-Clients keine iFrames verwenden. Was können Sie auch tun?

Dies ist übrigens absichtlich. iFrames und JavaScript sind Sicherheitsrisiken, mit denen E-Mail-Dienste nicht umgehen möchten.

Am besten holen Sie sich ein statisches Bild der Karte und einbetten es als Bild in einer HTML-E-Mail. Fügen Sie einen Hyperlink auf die "vollständige" Karte in Google Maps ein.

So führen Sie dies manuell in Google Mail aus:

  1. Gehen Sie zu http://staticmapmaker.com/google/ oder ähnlich
  2. Geben Sie den Ort ein
  3. Kopieren Sie das Kartenbild in Ihre Zwischenablage und fügen Sie es in eine E-Mail ein
  4. Kopieren Sie die href des Ankers im Abschnitt "Karte mit Link zu Google Maps"
  5. Choose your gesamter image from the cursor right near the image and press youshift+left arrow
  6. Drücken Siectrl+kum das Bild zu verlinken
  7. Fügen Sie die URL aus Schritt 4 in das Feld Webadresse ein
31
Neil McGuigan

Sie können eine statische Image-Map erstellen und diese per E-Mail in Perl senden: https://metacpan.org/pod/Geo::Google::StaticMaps::V2

oder einfach direkt von Google: https://developers.google.com/maps/documentation/static-maps/

Im HTML-Teil der E-Mail sollte es ungefähr so ​​aussehen:

<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"/>

Ich habe es gerade ausprobiert und es funktioniert wie ein Zauber.

Beispielcode:

#!/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");
11

Sie können einen Link, der Kartenparameter (Lat, Lgt usw.) enthält, per E-Mail an eine HTML-Seite auf Ihrem Server senden, die Parameter für die Karte mit REST apis akzeptiert und die vollständige Karte im Browser anzeigt. Andernfalls Die einzige Wahl ist die Verwendung des statischen Kartenkonzeptes. Oder beides kann verwendet werden: Senden Sie das statische Kartenbild und darunter einen Link zu der HTML-Seite, die die Parameter akzeptiert, die Karte vorbereitet und die echte Karte anzeigt, wenn der Benutzer dies bevorzugt.

0
Facimus