Ich bin auf ein seltsames Problem gestoßen, und ich weiß nicht, was das Problem ist. Der folgende jQuery-Code ist eine vereinfachte Version dessen, was ich erreichen möchte:
var iframe = $('<iframe />');
iframe.prop('src', 'https://maps.google.com/maps?q=London&hl=en&sll=37.0625,-95.677068&sspn=46.677964,93.076172&t=h&hnear=London,+United+Kingdom&z=10');
iframe.appendTo($('body'));
// When the iframe loads:
iframe.load(function() {
alert(1);
});
Die Karte wird nie geladen, und die load() Ereignis wird nie ausgelöst. Chrome meldet folgenden Fehler:
Refused to display 'https://maps.google.com/maps?q=London&hl=en&sll=37.0625,-95.677068&sspn=46.677964,93.076172&t=h&hnear=London,+United+Kingdom&z=10' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'.
Anhängen &output=embed an das Ende der URL behebt das Problem.
Aktualisieren: Google hat diese Funktion deaktiviert, die zum Zeitpunkt der ursprünglichen Veröffentlichung der Antwort funktionierte. Diese Lösung funktioniert nicht mehr.
@pomarc das rechtfertigt keine Ablehnung. Als die Antwort vor mehr als einem Jahr veröffentlicht wurde, war dies gültig. Bitte erwägen Sie, Ihre harte Ablehnung zurückzunehmen …
– BenM
25. Juli 2014 um 20:29 Uhr
Auch im Jahr 2020 funktioniert der Output=embed-Trick in der Praxis noch. Ich benutze es gerade und es funktioniert.
– Alejandro
21. Mai 2020 um 17:01 Uhr
Ich kann bestätigen, dass output=embed im November 2020 nicht mehr funktioniert.
– Vinzenz
12. November 2020 um 16:57 Uhr
Ab 2014 die Option &output=embed funktioniert nicht mehr. Google schlägt Ihnen vor, zur Google Maps Embed API zu wechseln. Hier ist ein Schnellstart.
Denken Sie daran, es zu aktivieren Google Maps-Einbettungs-API in der API-Konsole.
ps überprüft, ob ich im Moment arbeite, in dem ich diese Antwort schreibe
Funktioniert bei mir nicht mit /dir Richtungen (nicht /place)
– Kaiser
21. August 2015 um 9:13 Uhr
Hallo @kaiser , folge dem Einrichtungsassistenten hierdas letzte Stück der URL sein sollte /directions Anstatt von /dir
– Raubvogel
21. August 2015 um 9:34 Uhr
Ich verstehe diese Logik nicht (die von Google, nicht deine). Tu ich haben jetzt ein Google Developers-Konto haben, um eine Karte einzubetten und zu teilen?
– Woodrow Shigeru
20. Oktober 2015 um 15:15 Uhr
@WoodrowShigeru ja, damit sie Ihre Daten haben und Sie mit Produktangeboten zuspammen können … meine Güte, sie tun das meinen Kunden an, es ist die Hölle auf Erden …
– Marcelo Agimovel
13. März 2017 um 17:52 Uhr
@MarceloAgimóvel Es ist ein völlig kostenloser Kartendienst im Gegenzug für eine E-Mail-Adresse. Scheint ein fairer Preis zu sein
– Chuck Le Butt
10. Juni 2020 um 17:16 Uhr
Stellen Sie sicher, dass Sie zusätzlich zur Places-API die Google Maps-Einbettungs-API aktivieren.