现在我可以使用此网址成功申请Google静态地图图片:
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时,没关系。我已经确认正确的推荐人也会被通过。
有什么想法吗?
答案 0 :(得分:8)
此代码是否适合您(它对我有用 - 请务必插入密钥)?
<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>
答案 1 :(得分:1)
这里有一个可能的拼写错误:
&key=[my key here]g
答案 2 :(得分:1)
问题在于钥匙。注册一个新密钥并附加网址。它会工作正常。我甚至遇到了同样的问题。它正在浏览器的地址栏中直接粘贴。但在生产中它没有用。我把新密钥放在生产和浏览器中都很好。