2014-04-04 36 views
1

我得到的圖像與媒體/搜索endopoint傳遞緯度和經度這樣加快multiquery與Instagram的API

url = Instagram.Config.apiHost + "/v1/media/search?lat=28.46555600&lng=-16.25113310&distance=5000&callback=?&client_id=" + Instagram.Config.clientID; 

,然後我想趁自己僅與某個標籤的圖片#instabeachpro ,如果PIC沒有找到我走線槽下一組圖片添加最後PIC CREATED_TIME與max_timestamp參數的URL,這裏是我使用

(function(){ 
var url,tags,menos,photos = new Array(),i=90; 

function search(){ 
    generateResource(tag; 
    $.getJSON(url, toScreen); 
} 
function init(){ 
    bindEventHandlers(); 
} 
function generateResource(){ 
    url = Instagram.Config.apiHost + "/v1/media/search?lat=28.46555600&lng=-16.25113310&distance=5000&callback=?&client_id=" + Instagram.Config.clientID; 
    return url; 
} 
function toScreen(){ 
    var next_url=url+"&max_timestamp="+data.data[data.data.length - 1].created_time; 

    $.each(data.data, function(index, photo){ 
    i--; 
    tags=photo.tags; 
    menos=jQuery.inArray("instabeachpro", tags); 
    if(menos!=-1) 
    { 
     $('div#photos-wrap').append("<div id='"+i+"' ><a href='"+photo.link+"'><img  src='"+photo.images.low_resolution.url+"'/></a></div><div><img class='second' src='"+photo.user.profile_picture+"'/></div>"); 
    } 
    else{ 
    i++; 
    } 


    }); 
    if(next_url!=undefined+"&callback=?" && i>=0){  
     console.log(i); 
     pagination(next_url); 
    } 

} 
function pagination(url) 
{ 
    $.getJSON(url, toScreen); 
} 

    Instagram.App = { 
search: search, 
init: init 
}; 

    function bindEventHandlers(){ 
    $('body').on('click', '#loadObject', function(){ 
     url=$(this).attr('data-next-url'); 
     i=90; 
     if(url=='undefined') 
     { 
     alert("undefined"); 
     } 
    else{ 
     pagination(url); 
     return false; 
     } 
    }); 
} 

}()); 

$(function(){ 
    Instagram.App.init(); 
    Instagram.App.search(); 

}); 

這工作的代碼,但它是非常緩慢的,我不知道該如何加快速度,因爲api不支持像我一樣搜索nt做的,我需要在特定的位置獲得具有特定標籤的pcba,我曾多次被告知這是實現它的唯一方法,但必須有更快的方式。謝謝。

回答

0

你的方法是極其低效的,因爲你正在搜索的標籤不普及和人們很小的百分比使用它,所以讓周圍的位置API,然後按標籤過濾是API調用次數昂貴。

搜索倒過來,使API調用的代碼,然後檢查該照片的位置。檢查此實現:http://www.gramfeed.com/instagram/tags#instabeachpro 你可以得到標籤的照片和地圖上的谷歌地圖,滾動裝載更多的照片,看到很少的#instabeachpro的照片和視頻位置

+0

是啊,我還以爲在做它的其他方式角落找尋,但我不想把它映射到谷歌我只是想向他們展示一個例子,在我附近的照片,我想要在我附近5公里的半徑範圍內獲得帶有標籤#instabeachpro的所有照片 –

+0

所以是的,我當時在愚蠢的,我需要做的就是計算圖片和經緯度之間的距離,以及用戶所在的長度,如果距離小於5公里我會顯示圖片。但是比你的答案 –