Я пытаюсь получить доступ к объектам на Foursquare, используя их формулу API без пользователя в моем приложении ASP MVC map, но мне не удается это сделать.
Мой код:
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);
});
Как вы понимаете: я получаю значения широты, долготы и расстояния с карты. Также пытаюсь распечатать конечный результат.
Когда я использую тот же URL в браузере, он получает результаты, но в этом коде, к сожалению, нет. Это заставляет меня думать, что, возможно, запрос json не очень хорош, потому что я пытаюсь поставить точку останова в строке printMap; это даже не останавливается. Я что-то не так делаю?
Любая помощь будет высоко оценена. Большое спасибо.
НОВЫЙ ПОДХОД, НО ЕЩЕ НЕ ШАНС:
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); });
}