有用户知道在用户在Strava上发布活动后如何获得完成路线图图像。我已经阅读过Strava API文档,但我还没有找到它
我使用https://strava.github.io/api/v3/activities/:id来获取活动,有“地图”字段,但我仍然没有找到此字段说明。
谢谢大家。
答案 0 :(得分:2)
summary_polyline
可以解码为一组坐标。用于折线的算法被描述为here,许多库可以处理它。
您也可以使用Google Maps静态API,而无需解码。
This来自slack bot for Strava的Ruby代码可以完成所有工作。
答案 1 :(得分:0)
Strava记录一组经纬度,并使用GOOGLE POLYLINE ENCODING算法对其进行编码。这是为了减少通过APP和Web服务传输的数据。
如果需要绘制路线,则需要
我使用了@mapbox/polyline npm模块来解码javascript中的折线。
另一种更好的方法是使用google maps静态api。在此输入折线,并获得绘制有路线的图像。静态api看起来像
答案 2 :(得分:0)
要在 Android 中获取路线图片:
将所有纬度和经度添加到列表中,然后借助Google折线编码技术将完整的纬度和经度列表转换为已编码的折线字符串。
此后,创建地图框帐户并使用具有有效令牌的地图框静态图片API
现在使用StaticPolylineAnnotation:
weak var delegate: ChildToParentProtocol? = nil
@objc func buttonPressed(sender: UIButton!) {
delegate?.passValueToParent(value: true)
}
注意:PolilineString是您通过Google Poly Line编码技术获得的编码字符串
List<StaticPolylineAnnotation> list = new ArrayList<>();
list.add(StaticPolylineAnnotation.builder()
.polyline(polilineString)
.strokeWidth(1.0)
.strokeColor(56, 69, 181)
.build());
MapboxStaticMap staticImage = MapboxStaticMap.builder().user("mapboxaccountusename")
.accessToken("Mapbox Token")
.styleId("Your Style id")
.staticPolylineAnnotations(list)
.cameraAuto(true)
.retina(true)
.build();