2015-10-19 57 views
0

CatAPI是一种API,每次访问时都会向您发送一只猫的随机GIF。CatAPI - 用于Javascript对象的多个随机图像

The Cat API

它像它应该。问题是......我在谷歌地图中使用这个。我有很多图标显示在屏幕上,当您加载图标时,它会将事件属性(“名称,等等”)加载到信息窗口中。我也给它一个猫属性,它是一个随机GIF的链接(你可能会看到它已经在哪里)

随机猫gif最终成为每个InfoWindow的相同gif(即使数据正在改变为每个)。

[编辑]我要澄清,“数据”这种情况正在改变的是城市名称,位置...不是URL的猫GIF

我如何解决这个随机URL http://thecatapi.com/api/images/get?format=src&type=gif平等一个特定的图像,并将其应用于我的图标“猫”属性。

JavaScript对象越来越猫属性

if (results.list.length > 0) { 
     resetData(); 
     for (var i = 0; i < results.list.length; i++) { 
     results.list[i].imacat = "http://thecatapi.com/api/images/get?format=src&type=gif" 
     geoJSON.features.push(jsonToGeoJson(results.list[i])); 
     } 
     drawIcons(geoJSON); 
} 
+0

请提供一个[最小,完整,已测试和可读的示例](http://stackoverflow.com/help/mcve)来说明问题。 – geocodezip

+0

也许你需要提供一个唯一的URL到请求到Cat API,所以你不会从缓存中得到相同的结果。 – geocodezip

+0

找出答案,谢谢你的帮助。我在下面回答完整性。 – mcnichol

回答

0

嗯......原来我是在我的头上比我以往需要使其更难....让这是一个教训给大家。

简单地在url结尾处创建一个时间戳变量允许我创建一个原始请求,这个catapi可以转储掉。

例子:

var ts = new Date().getTime(); 
results.list[i].imacat = "http://thecatapi.com/api/images/get?format=src&type=gif&timestamp="+ts; 

这将创建的东西在月底随机,我会得到一堆的对象具有独特的猫的GIF!

+0

这种技术被称为'cachebusting',为你的参数'cachebuster'命名并不少见,表明它没有被用作实际的日期值。 –

+0

谢谢,我对这个词不熟悉。我学到了一些新东西 – mcnichol