2013-05-23 1 views
11

Я пытаюсь внедрить карту Google на сайт клиента.Ошибка встроенных 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 ссылки здесь». Протоколы, домены и порты должны совпадать. »И нет отображений карт.

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

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

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

Вот ссылка на указанную страницу. (не удается отправить ссылку на IP-адрес) 198 точка 154 точка 220 точка 143/контакт/

+6

Игнорировать ошибку, нет, что вы можете изменить, потому что ошибка нагнетаются гуглом. Эта ошибка не препятствует загрузке карты, причина, по которой вы не видите карту, - это css в строке 42: 'iframe {display: none;}' –

+0

Я этого не видел. Благодарю. –

ответ

0

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

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

+1

Я думаю, что это на другом конце. Другими словами, я думаю, что это то, что Google должен будет установить на их конце? –

+0

Вы правы. Я прошу прощения. – jasir

1

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

Это появилось несколько раз на SO, и повторяющееся предложение - использовать API Карт Google.

Getting http/https protocols to match with <iframe> for maps.google.com

0

Missing «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> 
+0

BTW вы можете изменить параметр iwloc, чтобы он был рядом, чтобы вы не получили адресный пузырь, у вас очень маленькая карта (180 x 250): change & iwloc = A to & iwloc = рядом с URL. Также ... Я заметил, что сделал 150px ширину вместо 180px ... вы можете изменить это также – luke

0

Существует ошибка в Chrome, который остановит встроенные карты, показывающие в данный момент. Путь к нему - использовать API карт напрямую, а не встраивать. Смотрите этот вопрос более подробно и решение

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

Смежные вопросы