设为首页 加入收藏

TOP

运动健康路线导入,助力用户轻松导航(一)
2023-07-23 13:29:28 】 浏览:46
Tags:康路线 松导航

华为HMS Core运动健康服务支持通过REST API,以GPX文件格式写入用户路线数据,支持导入轨迹(Track)或路程(Route)类型的数据,实现用户路线数据在华为运动健康App中的展示效果。

假若与华为运动健康App相连接的穿戴设备支持路线导入,那么用户路线数据将自动下发至穿戴设备。用户可使用手表轻松导航,按照既定路线进行跑步、爬山等活动。(当前支持的设备有:HUAWEI WATCH GT 3系列、HUAWEI WATCH GT RUNNER。您可以在华为运动健康App—我的—我的线路中查看最新的路线导入设备支持情况。)

流程如下:

用户通过生态应用导出GPX文件。

生态应用通过调用REST API完成路线数据写入,并通过响应体获取路线ID(routeId)。

根据上一步返回的路线ID,通过DeepLink方式完成路线自动导入至华为运动健康App。

路线导入对应的Scope权限为https://www.huawei.com/healthkit/location.write

路线数据写入场景化示例代码

  1. Route路线写入
请求示例
PUT
https://health-api.cloud.huawei.com/healthkit/v1/routeInfos?format=GPX
请求体
Content-Type: application/xml
Authorization: Bearer ***
x-client-id: ***
x-version: ***
x-caller-trace-id: ***
<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<gpx version="1.1" creator="***" xmlns:xsi="***" xmlns="***" xsi:schemaLocation="***">
    <metadata>
        <time>1970-01-01T00:00:00Z</time>
    </metadata>
    <extensions>
        <totalTime>10000</totalTime>
        <totalDistance>10000</totalDistance>
        <routeName>testRouteName</routeName>
    </extensions>
    <rte>
        <rtept lat="24.27207756704355" lon="98.6666815648492">
            <ele>2186.0</ele>
        </rtept>
        <rtept lat="24.27218810046418" lon="98.66668171910422">
            <ele>2188.0</ele>
        </rtept>
        <rtept lat="24.27229019048912" lon="98.6667668786458">
            <ele>2188.0</ele>
        </rtept>
        <rtept lat="24.27242784195029" lon="98.6668908573738">
            <ele>2188.0</ele>
        </rtept>
</rte></gpx>
响应体
HTTP/1.1 200 OK
Content-type: application/json;charset=utf-8
{
    "routeId": 167001079583340846
}
  1. Track路线导入
请求示例
PUT
https://health-api.cloud.huawei.com/healthkit/v1/routeInfos?format=GPX
请求体
Content-Type: application/xml
Authorization: Bearer ***
x-client-id: ***
x-version: ***
x-caller-trace-id: ***
<?xml version="1.0" encoding="UTF-8"?>
<gpx creator="***" version="1.1" xsi:schemaLocation="***" xmlns:ns3="***" xmlns="***" xmlns:xsi="***" xmlns:ns2="***">
  <metadata>
    <time>2021-06-30T10:34:55.000Z</time>
  </metadata>
  <extensions>
    <totalTime>10000</totalTime>
    <totalDistance>10000</totalDistance>
    <routeName>testRouteName2</routeName>
  </extensions>
  <trk>
    <name>跑步</name>
    <type>running</type>
    <trkseg>
      <trkpt lat="22.6551113091409206390380859375" lon="114.05494303442537784576416015625">
        <ele>-33.200000762939453125</ele>
        <time>2021-06-30T10:35:09.000Z</time>
        <extensions>
          <ns3:TrackPointExtension>
            <ns3:atemp>31.0</ns3:atemp>
            <ns3:hr>110</ns3:hr>
            <ns3:cad>79</ns3:cad>
          </ns3:TrackPointExtension>
        </extensions>
      </trkpt>
      <trkpt la
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Android Studio 学习-第三章 Acti.. 下一篇如何通过经纬度坐标获取附近的地..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目