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

Google Fit API心率数据中mapVal字段的含义及取值说明

Google Fit API 心率接口mapVal字段说明

字段具体作用

mapVal是Google Fit返回数据结构中Value对象的通用扩展字段,用于承载键值对格式的附加元数据,存放固定取值字段无法覆盖的自定义扩展属性。
Value对象针对不同数据类型预设了固定取值字段,常规业务数据都会存在这些字段中:

  • 浮点型数值存放在fpVal,示例中的心率bpm值就使用该字段存储
  • 整型数值存放在intVal
  • 字符串值存放在stringVal
    对于com.google.heart_rate.bpm这类官方预定义的标准心率数据类型,常规返回中mapVal都会是空数组,和提供的示例表现一致——标准心率数据仅需通过fpVal返回每分钟心跳次数即可,不需要附加额外元数据。

合法取值规则

mapVal本身为数组结构,每个数组元素是一个键值对对象,固定包含两个属性:

  • key:字符串类型,对应元数据的键名
  • value:嵌套的Value类型对象,和外层存储心率值的Value结构完全一致,支持存放浮点、整型、字符串甚至嵌套的mapVal内容

针对心率、步数、位置、睡眠等所有Google预定义的公开标准健康数据类型,Google没有公开定义mapVal下的统一合法键值枚举,官方数据源、系统合并数据源返回的标准数据中该字段始终为空。
只有对接自定义数据类型、或者第三方私有数据源主动写入自定义扩展属性时,mapVal才会返回非空内容,此时具体的键名、取值规则完全由写入该条数据的数据源自行定义,不存在全局统一的合法值范围。

附:接口返回示例

{
  "minStartTimeNs": "1636419661000000000",
  "maxEndTimeNs": "1636439595000000000",
  "dataSourceId": "derived:com.google.heart_rate.bpm:com.google.android.gms:merge_heart_rate_bpm",
  "point": [
    {
      "startTimeNanos": "1636435597175000000",
      "endTimeNanos": "1636435597175000000",
      "dataTypeName": "com.google.heart_rate.bpm",
      "originDataSourceId": "raw:com.google.heart_rate.bpm:com.google.android.apps.fitness:user_input",
      "value": [
        {
          "fpVal": 98.061103820800781,
          "mapVal": []
        }
      ],
      "modifiedTimeMillis": "1636436192037"
    }
  ]
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 13:51:28