You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Strava API获取活动折线的海拔数据?

获取Strava活动海拔数据的方法

你不需要额外调用第三方API,Strava自身的接口就能满足需求:

  • 直接从Get Activity ById返回结果中提取:
    返回的DetailedActivity对象里,elev_high和elev_low字段可以拿到活动的最高、最低海拔值;如果活动的polyline本身包含海拔信息(部分活动会携带),可以调整你的解码代码,让@mapbox/polyline库解析出海拔数据:

    import polyline from '@mapbox/polyline';
    import { LatLngExpression } from 'leaflet';
    
    // 调整后支持解析带海拔的polyline
    export const decodePolylineWithAltitude = (
     encodedString: string | undefined,
    ): (LatLngExpression | [number, number, number])[] => {
     if (!encodedString) return [];
     // Strava的polyline默认精度为5,传入第三个参数启用海拔解析
     const decoded = polyline.decode(encodedString, 5);
     return decoded;
    };
    

    解码后的数组会是[纬度, 经度, 海拔]的三元组,但注意不是所有活动的polyline都包含海拔,这种方式有局限性。

  • 调用Get Activity Streams端点:
    这是获取逐点海拔最可靠的方式。请求该端点时,指定types=altitude,就能拿到与活动路线顶点一一对应的海拔数组,刚好可以用来绘制海拔图。你可以在获取活动详情后,用活动ID调用这个端点,参数里指定需要的流类型即可。

内容的提问来源于stack exchange,提问作者TResponse

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.24 16:57:33