为什么在使用REST API发布到Google健身的活动中,地图上的路径是否显示?

时间:2016-04-03 18:28:06

标签: rest google-fit google-fit-sdk

我正在使用Google Fit REST API(通过Google Java客户端库)将活动发布到Google健身中。

总之,我正在做的是创建涵盖给定时间段的三个DataSet

  • "com.google.location.sample" - 位置
  • "com.google.step_count.delta" - 步骤
  • "com.google.calories.expended" - 卡路里

...然后创建一个Session,最后一个DataSet只有一个活动段(在这种情况下,所有时间都在行走)。

基本上这一切似乎都有效 - 我可以查看http://fit.google.com,我可以看到活动,正确的时间,地点,持续时间,步数和卡路里。问题在于地图......所有显示的都是整个行走区域的阴影圆圈 - 它没有显示我在地点DataSet中包含的曲目/路径。

编辑...以下是an example的内容(在网络用户界面中)。

当活动的其余部分完全显示时,为什么这不能正确显示?

这些是我的一些怀疑

  • 我的数据没有altitudeaccuracy - 这是"com.google.location.sample"所需的两个字段。所以我将altitude设置为0.0(米),并将accuracy设置为5.0(米)。我特别想知道谷歌是否对我的反应很严重,每个点的高度设置为0.0?
  • 我的位置DataSet中有100 DataPoint个,而步数和卡路里DataSet每个只有一个DataPoint - 即我只有总步数和总卡路里,散步。因此存在不一致性(每个数据集的最早开始日期和最新结束日期相同)

有人可以提供有关为什么会这样做的任何指导吗?

1 个答案:

答案 0 :(得分:0)

认为这可能是由于数据点冲突造成的。如上所述here。虽然这是针对Android的API,但我认为在使用REST API时也是如此。

  

您应用的DataPoint中的每个DataSet都必须有startTime和   endTime定义了DataSet内的唯一间隔,但没有   DataPoint个实例之间的重叠。如果您的应用程序要求插入一个   与现有DataPoint实例冲突的新DataPoint   新的DataPoint被丢弃。插入可能重叠的新DataPoint   现有数据点,使用中描述的HistoryApi.updateData方法   更新数据。

您提到跨数据点的日期相同。因此,压倒其他人,它只被视为一个。

适用于您的com.google.location.sample数据类型字段。认为离开它们更好。尽量不要为altitudeaccuracy设置静态值。