2009-06-10 7 views
3

En ce moment, je peux utiliser cette URL pour vous demander une image Static Maps Google avec succès:Comment charger une image Static Maps Google utilisant Javascript

http://maps.google.com/staticmap?center=37.687,-122.407&zoom=8&size=450x300&maptype=terrain&key=[my key here]&sensor=false 

Cependant, la deuxième que j'utilise JQuery ou tout javascript direct pour définir un src de l'image à l'adresse ci-dessus, Google renvoie une erreur 400:

"Votre client a émis une demande malformée ou illégale." J'ai lu que c'est généralement à cause de la clé qui est incorrecte, mais ma clé est clairement transmise.

Voilà comment je suis la mise en l'image dynamique:

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" 

Je l'ai remplacé [ma clé ici] avec ma clé correcte, et il ne fonctionne toujours pas. Quand je demande le même URL via le navigateur, ça va. J'ai confirmé que les référents corrects sont également acceptés.

Des idées?

Répondre

8

Est-ce que ce travail de code pour vous (cela fonctionne pour moi - assurez-vous d'insérer votre clé)?

<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> 
+2

Ok, donc la raison pour laquelle ça ne fonctionnait pas, c'est que j'utilisais la mauvaise clé API. Apparemment, vous n'avez pas besoin d'une clé d'API lorsque vous testez en local, donc cela n'échouait pas. Lorsque je l'ai essayé en production, j'avais la mauvaise clé API et elle * échouait. Merci de votre aide! – sotangochips

1

Vous avez une faute de frappe possible avec le g sur la fin ici:

&key=[my key here]g 
+0

Bonne prise, mais c'était une faute de frappe quand je me suis débarrassé de ma clé, ce n'est pas la source du problème;) – sotangochips

+0

Haha. J'ai pensé autant :) – lucas

1

Le problème est avec la clé. Inscrivez-vous pour une nouvelle clé et ajoutez-la à l'url. Cela fonctionnera bien. J'ai même fait face au même problème. Il travaillait avec coller directement dans la barre d'adresse du navigateur. Mais dans la production ça ne fonctionnait pas. J'ai mis une nouvelle clé et cela a bien fonctionné à la fois dans la production et le navigateur.