Почему путь не отображается на карте в активности, опубликованной в Google Fit с помощью REST API?

Я использую Google Fit REST API (через клиентскую библиотеку Google Java) для публикации активности в Google Fit.

Таким образом, я делаю три DataSets охватывает данный период времени:

  • "com.google.location.sample" - Место нахождения
  • "com.google.step_count.delta" - шаги
  • "com.google.calories.expended" - калории

... затем создание Sessionи, наконец, DataSet с одним сегментом активности (в этом случае все время идет).

Похоже, это в принципе все работает - я могу посмотреть на http://fit.google.com/ и увидеть активность, указав точное время, местоположение, продолжительность, количество шагов и калории. Проблема с картой... все, что она показывает, это заштрихованный круг по всей области ходьбы - она ​​не показывает трек / путь, который я включил в локацию DataSet,

РЕДАКТИРОВАТЬ... Вот пример того, как это выглядит (в веб-интерфейсе).

Почему это не будет отображаться правильно, когда все остальное в деятельности отображается идеально?

Вот некоторые из моих подозрений

  • Мои данные тоже не имеют altitude или же accuracy - какие два поля необходимы "com.google.location.sample", Итак, я установил altitude до 0,0 (метров) и установить accuracy до 5,0 (метров). Мне особенно интересно, реагирует ли Google плохо на меня, устанавливая высоту 0.0 для каждой точки?
  • Мое местоположение DataSet сказал, что 100 DataPointв нем, тогда как по шагам и калориям DataSetтолько один DataPoint в каждом - то есть у меня есть только общее количество шагов и общее количество калорий для прогулки. Таким образом, есть несоответствие (самые ранние даты начала и самого конца одинаковы для каждого набора данных)

Кто-нибудь может дать какие-либо указания о том, почему это происходит, пожалуйста?

1 ответ

Думаю, это может быть связано с противоречивыми данными. Как указано здесь. Хотя это касается API для Android, я думаю, что это верно и при использовании REST API.

каждый DataPoint в вашем приложении DataSet должен иметь startTime и endTime который определяет уникальный интервал в этом DataSetбез перекрытия между DataPoint экземпляров. Если ваше приложение пытается вставить новый DataPoint что противоречит существующему DataPoint Например, новый DataPoint отбрасывается Чтобы вставить новый DataPoint которые могут перекрывать существующие точки данных, используйте HistoryApi.updateData метод описан в Обновление данных.

Вы упомянули, что даты совпадают в разных точках данных. Таким образом, отвергая другие, и это рассматривается только как один.

Для тебя com.google.location.sample поля типа данных. Думаю, лучше оставить их как есть. Старайтесь не ставить статическое значение и для altitude а также accuracy,

Другие вопросы по тегам