2013-03-19 1 views
0

Je suis en train de créer une application rails et d'essayer de mettre plusieurs Google Static Maps dans la vue. Ces cartes seront toujours afficher les espaces réservés-image brisée, sauf qu'il fonctionne quand je:Google Maps statiques ne montre la carte que brièvement après l'avoir affichée dans un autre onglet du navigateur

-Utiliser Firebug pour saisir l'URL src pour l'image carte
-Paste l'URL dans un autre onglet du navigateur
-refresh Mes applications avec les cartes statiques Google
-Je peux ensuite afficher une carte statique pour l'URL que j'ai collée, mais pas d'autres, et seulement pendant environ 1 min.

Toute carte sur la page Je répète cette procédure sera visible pendant environ 1 minute. Ensuite, après environ 1 minute, cette carte va revenir à un espace réservé d'image brisée si je rafraîchis la page.

Un exemple URL de mon application (sans mon API Key) est la suivante:

http://maps.googleapis.com/maps/api/staticmap?center=Paris%2C+France&zoom=13&size=600x300&maptype=roadmap&sensor=false&markers=color:blue|label:A|Paris%2C+France

Coller (ou cliquez) ceci dans votre navigateur, et vous voyez cela fonctionne. Je colle cette URL AVEC ma clé d'API dedans dans mon navigateur, cela fonctionne & et mon application montrera la carte statique pendant un temps limité, et après cela elle sera encore cassée. Si je colle une URL sans ma clé API, cette procédure ne fonctionne pas. C'est comme si vous visualisiez la carte dans un autre onglet du navigateur de façon temporaire dans mon navigateur, et cela fonctionnera alors dans mon application ... mais il se cassera dans une minute. N'a pas trouvé d'autre moyen de rendre les images de carte visibles.

Des idées pour lesquelles cela se produirait?

EDIT:

Ceci est extrêmement étrange. Pour tenter de diagnostiquer cela, j'ai fait un copier/coller/enregistrer de la source de la page des applications contenant les images de la carte cassée, et l'ai mis sur un serveur distant dans le monde. Dans cette nouvelle page totalement statique, j'ai obtenu le même résultat: je vois des images d'espace réservé cassées où la photo de google map devrait être. Mais après avoir copié l'URL src de l'image & collez-le dans un autre onglet du navigateur, je peux revenir à la page statique, rafraîchir & seule cette image de la carte apparaît. Plus étrange encore (peut-être?), Il apparaît aussi sur mon application localhost. Il apparaît également sur un copier/coller local statique de la source de la page d'application que je sauvegarde en tant que fichier HTML. Donc, ne dis pas que doit être, mais cela semble être un problème de mise en cache du navigateur. Peu importe où la page de vue est représentée, qu'elle soit locale ou distante, et non qu'elle soit générée dynamiquement ou HTML statique, le comportement d'origine reste le même.

+1

Résolu: J'ai mis une clé API qui permettait à n'importe quel référenceur de répondre à la demande. Je l'avais mis en place chez les hébergeurs sur lesquels je travaillais, mais en supprimant cette restriction (par rapport aux conseils propres de Googles (https://developers.google.com/maps/documentation/staticmaps/?hl=nl#quick_example). recommande de restreindre l'utilisation de votre clé aux domaines que vous administrez ... "). Donc c'est * résolu *, mais pas de façon optimale. – user2188073

+0

J'ai eu le même problème. J'utilise aussi la même méthode pour le réparer. Il semble que Google a un problème avec le référant. J'ai ajouté à la liste blanche l'adresse IP du serveur, le domaine de l'entreprise ainsi que mon domaine et j'avais toujours des problèmes. – user1890328

Répondre

0

Peut-être vous ne considérez pas que le referrer est celui qui montre la carte statique. Consultez ces exemples:

  1. carte statique montre https://developers.google.com/maps/documentation/static-maps/styling?hl=nl: le referrer est https://developers.google.com
  2. Vous prenez ce lien (qui est déjà dans l'URL de l'URL sur le point 1) https://maps.googleapis.com/maps/api/staticmap?size=512x512&zoom=15&center=Brooklyn&style=feature:road.local%7Celement:geometry%7Ccolor:0x00ff00%7Cweight:1%7Cvisibility:on&style=feature:landscape%7Celement:geometry.fill%7Ccolor:0x000000%7Cvisibility:on&style=feature:administrative%7Celement:labels%7Cweight:3.9%7Cvisibility:on%7Cinverse_lightness:true&style=feature:poi%7Cvisibility:simplified&key=YOUR_API_KEY et vous le coller dans votre navigateur: le référent est votre adresse IP publique.

Il est donc normal que le lien ne fonctionne pas dans un navigateur mais qu'il fonctionne dans une page Web déterminée.Cela se produit lorsque le référent autorisé est uniquement l'hôte du site Web. Considérez également que vous pouvez atteindre les limites d'affichage gratuites par jour.

Questions connexes