我有google Maps API方向json对象:
{{3}}
我希望在用户到达某个位置时显示“STEPS”jsonArray的说明。 在“STEPS”JsonArray中,有一个startLocation和endLocation对象。
我知道如何获取当前位置的纬度和经度以及路径的JSONData。 我想检查我的当前位置是否与“步骤”中的startLocation匹配。
从“Steps”JSONArray中显示所有相应的指令(json对象,如持续时间,距离)。
但我不知道是否将我的当前位置与StartLocation或endLocation进行比较。
答案 0 :(得分:0)
所以你有100步。如果您在步骤0,则需要显示整个100步。如果您在步骤1中,则需要显示步骤1到100,依此类推。
检查边缘情况:
- 如果你正处于json响应的初始阶段,那么与当前步骤的最后一点进行比较是没有意义的
- 如果你在最后一步,如果你的位置与endLocation
匹配,你应该看不到更多的指示,所以只有当你的位置与最后一个startLocation
相匹配时才显示最后一步步骤
作为上述内容的证明,如果您的位置与步骤N的startLocation
匹配,则显示从N到100的步骤。
如果您的位置与步骤N的endLocation
匹配,则显示从N + 1到100的步骤。
这里有最后一条建议。将当前位置与json响应位置进行比较时,修剪或舍入坐标。超过第六位数字,你可以放心地说它是同一个地方。我已经看到一些步骤的endLocation与下一个步骤的startLocation不匹配的情况。屎发生了。