2015-10-19 63 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