Встроенная ошибка Google Maps - заблокирован кадр с источником

Я пытаюсь встроить карту Google на сайт клиента.

Вот код встраивания, который я использую, скопированный из источника представления страницы, на которой он встроен. Я следовал инструкциям на этой странице http://maps.google.ca/help/maps/getmaps/plot-one.html

<iframe width="180" height="250" frameborder="0" scrolling="no" marginheight="0"
marginwidth="0" src="http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=
&q=5590+Joliet+Street+Denver,+Colorado+88239&aq=&sll=34.168218,-111.930907
&sspn=15.047206,26.30127&ie=UTF8&hq=&hnear=5590+Joliet+St,+Denver,+Colorado
+80239&ll=39.797915,-104.860812&spn=0.013667,0.025685&t=m&z=14&output=embed">
</iframe>

Я получаю сообщение об ошибке (Инструменты разработчика Chrome, консоль) Заблокирован фрейм с источником "http://maps.google.com" от доступа к фрейму с источником "http link here". Протоколы, домены и порты должны совпадать", и карта не отображается.

Интересно, что когда я вставляю это в текстовый документ, сохраняю его как HTML и открываю в Chrome, карта будет отображаться, но я все равно получаю ту же ошибку в Dev Tools (за исключением того, что источник равен нулю).

приложение php, и я пробовал remove_header(); вариант, и это ничего не изменило, и я убедился, что ссылка в iframe содержит output=embed.

Я пробовал FF, Chrome и IE 10, все с тем же результатом.

Вот ссылка на страницу, о которой идет речь. (не могу опубликовать ссылку на IP-адрес) 198 точек 154 точек 220 точек 143/контакт/


person Craig Jacobs    schedule 23.05.2013    source источник
comment
Игнорируйте ошибку, вы ничего не можете изменить, потому что ошибка вызвана Google. Эта ошибка не мешает загрузке карты, причина, по которой вы не видите карту, - это css в строке 42: iframe{display:none;}   -  person Dr.Molle    schedule 24.05.2013
comment
Я этого не видел. Спасибо.   -  person Craig Jacobs    schedule 28.05.2013


Ответы (4)


Ваши протоколы не совпадают, https и http. Я только что видел все ошибки консоли, отображаемые на странице, которую вы разместили, и все они показывают ссылки на карты Google как https, а ваш сайт - http.

Это появлялось несколько раз на SO, и повторяющееся предложение состоит в том, чтобы вместо этого использовать API Карт Google.

https://stackoverflow.com/questions/13555261/getting-http-https-protocols-to-match-with-iframe-for-maps-google-com

person John McMahon    schedule 04.08.2013

Я думаю, вы должны установить правильный заголовок X-Frame-Options.

см. https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options

person jasir    schedule 20.06.2013
comment
Я думаю, что это на другом конце. Другими словами, я думаю, что это то, что Google должен установить на своей стороне? - person Craig Jacobs; 25.06.2013

Отсутствует «s» в https, это правильный код для использования:

<iframe width="150" height="250" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="https://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=it&amp;geocode=&amp;q=5590%2BJoliet%2BStreet%2BDenver,%2BColorado&amp;sll=37.0625,-95.677068&amp;sspn=55.718442,121.201172&amp;ie=UTF8&amp;hq=&amp;hnear=5590+Joliet+St,+Denver,+Colorado+80239&amp;t=m&amp;ll=39.79792,-104.860811&amp;spn=0.016486,0.012789&amp;z=14&amp;iwloc=A&amp;output=embed"></iframe>
person luke    schedule 07.08.2013
comment
Кстати, вы можете изменить параметр iwloc, чтобы он был рядом, чтобы не было всплывающего окна с адресом, у вас очень маленькая карта (180 x 250): измените iwloc=A на iwloc=near в URL-адресе. Кроме того... я заметил, что сделал его шириной 150 пикселей вместо 180 пикселей... вы также можете изменить это - person luke; 07.08.2013

В Chrome есть ошибка, из-за которой на данный момент не отображаются встроенные карты. Обойти это можно, используя API карт напрямую, а не встраивая. См. этот вопрос для получения более подробной информации и решения

https://stackoverflow.com/a/15113050/2086687

person Bn Mk    schedule 07.10.2013