Ответ 1
Приложение &output=embed
в конец URL-адреса устраняет проблему.
У меня возникла странная проблема, и я не знаю, в чем проблема. Следующий код jQuery - это упрощенная версия того, чего я хочу достичь:
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);
});
Карта никогда не загружается, и событие load()
никогда не запускается. Chrome сообщает о следующей ошибке:
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'.
Как обходить это?
Вот демон jsFiddle.
Приложение &output=embed
в конец URL-адреса устраняет проблему.
По состоянию на 2014 год опция &output=embed
больше не работает. Google предлагает вам перейти на Google Maps Embed API. Вот краткое начало.
В основном, новая ссылка iframe:
https://www.google.com/maps/embed/v1/place?key={BROWSER_KEY}&q={YOUR_ADDRESS_ENCODED}
Не забудьте включить API конверсий Google Maps в консоли API.
ps проверял работу в тот момент, когда я пишу этот ответ
Убедитесь, что вы включили google maps embed api в дополнение к API мест.
Создайте карту отсюда:
https://developers.google.com/maps/documentation/embed/start