Почему первое значение в шаговом массиве json, возвращаемое API-указаниями Google, не соответствует другим элементам в списке шагов?

Ниже приведен ответ Json от Google-directions-api.

Если мы посмотрим на расстояние, то значение объекта кажется в метрах, а текст округляется до значения в километрах. Но первый объект не следует за этим.

Похожий случай с продолжительностью. Значение указывается в секундах, а текст округляется в минутах. Но первый объект в массиве steps не соответствует результату.

Мне нужны согласованные данные для моего приложения. Что не так с этим? Есть ли решение?

Примечание. Не все ответы противоречивы, но для некоторых ответов есть несоответствия.

Любой вид предложения будет принята с благодарностью.

Спасибо!

"steps" : [
                  {
                     "distance" : {
                        "text" : "20 m",
                        "value" : 20
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 6
                     },
                     "end_location" : {
                        "lat" : 25.5940352,
                        "lng" : 85.1373598
                     },
                     "html_instructions" : "Head \u003cb\u003ewest\u003c/b\u003e",
                     "polyline" : {
                        "points" : "uye{CwlsfOAf@"
                     },
                     "start_location" : {
                        "lat" : 25.5940333,
                        "lng" : 85.1375638
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "0.1 km",
                        "value" : 124
                     },
                     "duration" : {
                        "text" : "1 min",
                        "value" : 65
                     },
                     "end_location" : {
                        "lat" : 25.5944879,
                        "lng" : 85.1365761
                     },
                     "html_instructions" : "Turn \u003cb\u003eright\u003c/b\u003e toward \u003cb\u003eBangali Tola Bus Stand Rd\u003c/b\u003e/\u003cb\u003eMithapur Bus Stand Rd\u003c/b\u003e/\u003cb\u003ePatna - Aurangabad Rd\u003c/b\u003e",
                     "maneuver" : "turn-right",
                     "polyline" : {
                        "points" : "wye{CoksfOI?i@AM?GAA@A??@A@Ah@?DGhB"
                     },
                     "start_location" : {
                        "lat" : 25.5940352,
                        "lng" : 85.1373598
                     },
                     "travel_mode" : "DRIVING"
                  },
                  {
                     "distance" : {
                        "text" : "1.1 km",
                        "value" : 1096
                     },
                     "duration" : {
                        "text" : "5 mins",
                        "value" : 325
                     },
                     "end_location" : {
                        "lat" : 25.5849493,
                        "lng" : 85.1338281
                     },
                     "html_instructions" : "Turn \u003cb\u003eleft\u003c/b\u003e onto \u003cb\u003eBangali Tola Bus Stand Rd\u003c/b\u003e/\u003cb\u003eMithapur Bus Stand Rd\u003c/b\u003e/\u003cb\u003ePatna - Aurangabad Rd\u003c/b\u003e\u003cdiv style=\"font-size:0.9em\"\u003eContinue to follow Mithapur Bus Stand Rd/Patna - Aurangabad Rd\u003c/div\u003e",
                     "maneuver" : "turn-left",
                     "polyline" : {
                        "points" : "q|e{CsfsfObBXxB`@tATD@p@Lv@LbEr@XDx@NhB\\~Dv@~@Np@LbDv@rDz@ZFjGpAbBXv@N"
                     },
                     "start_location" : {
                        "lat" : 25.5944879,
                        "lng" : 85.1365761
                     },
                     "travel_mode" : "DRIVING"
                  },]

1 ответ

Решение

Если вы посмотрите внимательно, нет никаких противоречий.

Первый объект:

distance: Значение в метрах. значение = 20 метров и, следовательно, текст 20 m

duration: Значение в секундах. значение = 6 секунд = 0,1 минуты. Округление до ненулевого целого значения дает 1 минуту, и, следовательно, текст 1 min

Другие объекты следуют той же схеме.

Ура!

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