我有一个程序可以遍历车辆坐标列表,然后对它们执行其他功能。我只是在寻找不太靠近的成对连续坐标。如果车辆长时间静止,则可能会有数千个连续坐标相互重叠。
一旦找到我的两个坐标,我将手动更新我的迭代器 (i=j-1),这样我就不必重复检查成千上万个坐标。我的问题是,这是好的做法吗?还是有可行的替代方案?我在网上找不到任何这样的例子。我看到了“继续”语句,但这似乎需要额外的 if 语句,并且手动更新更“优雅”。
int LatLngSize = latLngList.size();
for (int i = 0; i < LatLngSize; i++) {
j = i + 1;
validPoints = true;
if (LatLngSize > j) {
latLng1.setCoordinate(latLngList.get(i));
latLng2.setCoordinate(latLngList.get(j));
consecutivePointDistance = latLng1.distance(latLng2);
}
while (consecutivePointDistance < 0.05) {
j++;
if (LatLngSize > j) {
latLng2.setCoordinate(latLngList.get(j));
consecutivePointDistance = latLng1.distance(latLng2);
i = j - 1; // This is the potential offender.
} else {
validPoints = false;
consecutivePointDistance = 100;
}
}
//Do stuff with my latlng1 and latlng2
}