API статической карты Google, запрещающий 403 при загрузке с тега img

У меня есть карта Google, которая показывает местоположение свойства, но когда я прихожу к печати динамических карт, не печатаю так хорошо, поэтому я решил реализовать API изображений Google Static Map.

http://lpoc.co.uk/properties-for-sale/property/oldgate-dairy-st-james-road-long-sutton-cambridgeshire-pe12/?prop-print=1

^^ является примером свойства в виде печати и должен показывать статическое изображение карты, но он не загружается и смотрит на моего инспектора. Я получаю ответ 403 Forbiden для изображения.

Но если я перейду к URL-адресу напрямую, изображение загрузится...

Что я делаю неправильно?

Спасибо

Скотт

Ответы

Ответ 1

К сожалению, я чувствую себя таким идиотом. Я использовал старый URL API-карт V2, а не новый URL-адрес API-интерфейса V3. Я получал 403, потому что я использовал URL-адрес V2 без предоставления ключа API: (

Ответ 2

Это получило довольно много просмотров, поэтому я добавляю свое решение проблемы здесь:

При использовании нового API убедитесь, что вы сгенерировали Ключ для приложений браузера (с реферерами), а также убедитесь, что шаблоны соответствуют вашему URL.

Например, при запросе с example.com ваш шаблон должен быть

  example.com/*

Когда вы запрашиваете с www.example.com:

  *.example.com/*

Поэтому убедитесь, что вы проверяете наличие субдомена и разрешаете оба шаблона в консоли разработчика.

  1. Посетите консоль разработчика.
  2. Под API-ключами щелкните значок карандаша для редактирования.
  3. В разделе "Ключевые ограничения" убедитесь, что у вас есть запись для example.com/*, *.example.com/* и любые локальные тестовые домены, которые вы можете захотеть.

Ответ 3

Кажется, здесь существует некоторая путаница, и поскольку этот поток высоко оценивается в Google, кажется, имеет смысл уточнить.

В Google есть несколько различных API для использования в своих службах карт:

API Javascript

Старая версия этого API была версией 2, для которой требовался ключ. Эта версия устарела, и рекомендуется перейти на новую версию 3. Обратите внимание, что в документации по-прежнему указывается, что для этого вам нужен ключ, за исключением случаев, когда вы используете "API Карт Google для бизнеса".

API статических карт

Это совсем другая история. Статические карты - это служба, которая не требует javascript. Вы просто вызываете URL-адрес, и Google вернет изображение карт, позволяя вставлять URL-адрес непосредственно в тэг <img>. Новейшая версия версия 2, а для этого требуется клавиша, поскольку применяется ограничение использования.

Ключ можно запросить здесь: https://code.google.com/apis/console

И ключ должен быть добавлен в запрос на получение правильного изображения:

http://maps.googleapis.com/maps/api/staticmap?center=New+York,NY&zoom=13&size=600x300&key=API_console_key

Надеюсь, это прояснит некоторую путаницу.

Ответ 4

У меня была такая же проблема, но мое решение было другим. У меня были включены карты V2 api, но не статические карты api (я думал, что это V2). Я включил статические карты api, и это сработало.

Ответ 5

Будьте на сто процентов уверены в этих моментах: (для статических карт)

  • Включите свой проект на этом URL-адресе:

https://console.developers.google.com/apis/api/static_maps_backend/overview?project=

  1. У вас есть ваш локальный хост, постановка и производство - все URL-адреса с подстановочными знаками включены в разделе реферера.

  2. Google изменил свою политику, и теперь вам нужен ключ api для отображения карт. обратитесь к этому дополнительно: API Карт Google без ключа?

Надеюсь, это поможет.

Ответ 6

Staticmaps V3 не нуждается в атрибуте "Ключ", и его удаление, похоже, решает проблему с источником <img>.

Попробуйте использовать такой URL:

http://maps.googleapis.com/maps/api/staticmap?center=0.0000,0.0000&zoom=13&size=200x200&maptype=roadmap&markers=0.0000,0.0000&sensor=false

Для получения дополнительной информации прочитайте это.

Ответ 7

Да, API Карт Google 3 был версией java- script; "Google Static Maps" - самые последние версии 2.0. Я подозреваю, что могут быть некоторые ограничения на использование.

Ответ 8

Я также не мог отображать статические карты и мог видеть ошибку 403 в сетевой консоли браузера.

HTTP-заголовки ответов:

status:403
x-content-type-options:nosniff

У меня был ключ API с включенным множеством API Карт Google, но Google Static Maps API отсутствовал, что позволило решить проблему.

Ответ 9

Я использую Wordpress 4.9.4 с темой Исхода ChurchThemes. Я подал заявку и создал новый API_KEY.

Как только это будет сделано, ваши карты должны начать появляться на вашем сайте или в приложении.

Если они не отображаются при обновлении, вам может потребоваться:

  • очистить ваш кеш (Wordpress или Drupal webistes),
  • подождите 5 минут, рекомендуемых API для регистрации включенных API