Сейчас я могу использовать этот URL для успешного запроса изображения Google Static Maps:
http://maps.google.com/staticmap?center=37.687,-122.407&zoom=8&size=450x300&maptype=terrain&key=[my key here]&sensor=false
Однако, когда я использую JQuery или любой другой прямой javascript для установки src изображения на вышеуказанный URL, Google возвращает ошибку 400:
"Ваш клиент отправил неверный или незаконный запрос."
Я читал, что обычно это неверный ключ, но мой ключ явно передается.
Вот как я устанавливаю изображение динамически:
document.getElementById('my-image-id').src = "http://maps.google.com/staticmap?center=37.687,-122.407&zoom=8&size=450x300&maptype=terrain&key=[my key here]&sensor=false"
Я заменил [мой ключ здесь] на мой правильный ключ, и он все еще не работает. Когда я запрашиваю тот же URL через браузер, это нормально. Я подтвердил, что правильные рефереры также проходят.
Есть идеи?
Этот код работает для вас (он работает для меня - обязательно введите ваш ключ)?
<html> <head> <script language="javascript"> function swap() { document.getElementById('my-image-id').src = "http://maps.google.com/staticmap?center=37.687,-122.407&zoom=8&size=450x300&maptype=terrain&key=&sensor=false" } </script> </head> <body> <img src="http://www.google.com/intl/en_ALL/images/logo.gif" width="450" height="300" onClick="swap();" id="my-image-id" /> </body> </html>
Проблема с ключом. Зарегистрируйтесь для получения нового ключа и добавьте URL-адрес. Это будет работать нормально. Я даже столкнулся с той же проблемой. Работал с прямой вставкой в адресную строку браузера. Но на производстве это не работало. Я поставил новый ключ, и он отлично работал как на производстве, так и в браузере.
У вас есть возможная опечатка с g на конце здесь:
&key=[my key here]g