Почему путь не отображается на карте в активности, опубликованной в Google Fit с помощью REST API?
Я использую Google Fit REST API (через клиентскую библиотеку Google Java) для публикации активности в Google Fit.
Таким образом, я делаю три DataSet
s охватывает данный период времени:
"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
,