我想通過在我的ASP MVC地圖應用程序上使用他們的無用戶API公式來訪問Foursquare上的場地,但無法管理它的工作。如何通過JSON訪問「Foursquare Userless Venues API v2」?
我的代碼是:
var fsObj = [];
var url = 'https://api.foursquare.com/v2/venues/search?ll=' + lat + ',' + lng + '&query=' + type + '&radius=' + distance + '&intent=browse&client_id=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&client_secret=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&v=20120304';
$.getJSON(url, {}, function (data) {
venues = data['response']['groups'][0]['items'];
for (var i = 0; i < venues.length; i++) {
var fsRes = {
'Id': venues[i]['venue']['id'],
'Name': venues[i]['venue']['name'],
'Latitude': venues[i]['venue']['location']['lat'],
'Longitude': venues[i]['venue']['location']['lng'],
'Type': type,
'Vicinity': venues[i]['venue']['location']['address'],
'Reference': "Foursquare"
};
fsObj.push(fsRes);
}
printMap(fsObj);
});
正如你可能明白了:我正在緯度,從地圖LNG和距離值。還試圖打印endresult。
當我在瀏覽器上使用相同的網址時,它會得到結果,但在此代碼中不幸的不是。它讓我認爲,當我嘗試在printMap行放置一個斷點時,json請求可能並不好;它甚至不停止。難道我做錯了什麼?
任何幫助將不勝感激。非常感謝你。
新方法,但仍沒有機會:
var getFoursquare = function (p, g, q) {
var lat = p.lat();
var lng = p.lng();
var url = 'https://api.foursquare.com/v2/venues/search?ll=' + lat + ',' + lng + '&query=' + q + '&radius=' + g + '&intent=browse&client_id=XXXXXXXXXXXXXXXX&client_secret=XXXXXXXXXXXXXXXXXXXXXXXXXX&v=20120305';
$.getJSON(url, function (data) {
$.each(data.response.venues, function (i, venues) {
fsRes = {
'Id': venues.id,
'Name': venues.name,
'Latitude': venues.location.lat,
'Longitude': venues.location.lng,
'Type': q,
'Vicinity': venues.location.address,
'Reference': "Foursquare"
};
fsObj.push(fsRes);
});
printMap(fsObj);
}).error(function (event, jqXHR, ajaxSettings, thrownError) { alert(event); alert(jqXHR); alert(thrownError); });
}
你能提供更多的細節嗎?響應看起來像什麼,控制檯上有錯誤嗎? – f0x 2012-03-04 11:54:47
當我在瀏覽器上使用相同的網址時,它會得到結果,但在此代碼中不幸的不是。它讓我認爲,當我嘗試在printMap行放置一個斷點時,json請求可能並不好;它甚至不停止。難道我做錯了什麼? – MrGorki 2012-03-04 11:58:05
這是一個跨域調用,最有可能設計爲從服務器代理使用。也許可以使用Chrome瀏覽器執行'console.log(data)'並查看控制檯以查看請求發生了什麼。然而,我懷疑它是因爲SOP而被阻止的。 http://en.wikipedia.org/wiki/Same_origin_policy在討論SOP和JavaScript調用時,有很多答案。 – f0x 2012-03-04 13:46:33