有谁知道使用 get 请求从 strava api 获取活动的确切经度和纬度的方法?
我正在尝试将 strava api 与谷歌地图集成,并且我正在尝试使用适当的经度/纬度位置构建一个数组,但该https://www.strava.com/api/v3/athlete/activities?per_page=100...
请求仅返回经度和纬度四舍五入,例如:start_longitude: 2.6
。
我找到了一种“hacky”方法,通过遍历结果然后在循环中发送另一个请求来检索开始坐标,尽管这发送了太多请求。- 以下是我的请求的片段:
// start request
$.get( "https://www.strava.com/api/v3/athlete/activities?per_page=100&access_token=ACCESSTOKEN", function (results) {
// loop through request
for (i = 0; i < results.length; i++) {
if(results[i].type === 'Run') {
// add an element to the array for each result
stravaComplete.push(true);
$.get( "https://www.strava.com/api/v3/activities/"+ results[i].id +"?per_page=5&access_token=ACCESSTOKEN", function (runs) {
if(typeof runs.segment_efforts[0] != "undefined"){
var runLatitude = runs.segment_efforts[0].segment.start_latitude;
var runLongitude = runs.segment_efforts[0].segment.start_longitude;
stravaActivityList.push({"lat": runLatitude, "lng": runLongitude});
}
// remove the element from the array
stravaComplete.pop();
// if all the elements have been removed from the array it means the request is complete
if(stravaComplete.length == 0) {
// reinitialize map
initMap(stravaActivityList);
}
});
}
}
});
任何指导都会很棒。谢谢。