为什么Google方向api返回的步骤json数组中的第一个值与步骤列表中的其他项不一致?

Why the first value in step json array returned by Google directions api is not consistent with other items in the step list?

以下是来自 Google-directions-api 的 Json 回复。

如果我们查看距离对象,值似乎以米为单位文本是以公里为单位的四舍五入值。但是第一个对象不遵循这个。

持续时间的情况类似。值以秒为单位,文本是以分钟为单位的四舍五入值。 但是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"
                  },]

仔细看,没有不一致的地方。

第一个对象:

distance: 值以米为单位。值 = 20 米,因此文本为 20 m

duration: 值以秒为单位。值 = 6 秒 = 0.1 分钟。四舍五入为 non-zero 整数值给出 1 分钟,因此文本为 1 min

其他对象遵循相同的模式。

干杯!