在Android Java中测量圈数和扇区
我目前正在开发一个应用程序,这是为了让用户能够时钟圈周围的轨道,也通过部门驾驶。最让我困扰的是,我无法找到更好的方法来检测何时结束一圈或何时通过扇区,而且我也知道在循环中修改迭代器是个坏主意。发布的代码有点有效,但它严重依赖于位置的准确性(有时它会找到所有扇区,但大多数时候会跳过一些扇区)。我的主要目标是能够开始跑步并测量用户到扇区的驾驶情况,在计时器通过时重置计时器,扇区计数器增加1,当一圈中的所有扇区通过时,增加圈数并重置圈中的所有扇区。非常感谢您的任何想法或改进 阵列扇区是用户确定扇区的阵列,纬度和经度是用户的位置在Android Java中测量圈数和扇区,java,android,Java,Android,我目前正在开发一个应用程序,这是为了让用户能够时钟圈周围的轨道,也通过部门驾驶。最让我困扰的是,我无法找到更好的方法来检测何时结束一圈或何时通过扇区,而且我也知道在循环中修改迭代器是个坏主意。发布的代码有点有效,但它严重依赖于位置的准确性(有时它会找到所有扇区,但大多数时候会跳过一些扇区)。我的主要目标是能够开始跑步并测量用户到扇区的驾驶情况,在计时器通过时重置计时器,扇区计数器增加1,当一圈中的所有扇区通过时,增加圈数并重置圈中的所有扇区。非常感谢您的任何想法或改进 阵列扇区是用户确定扇区的阵
ListIterator<LatLng> i = sectors.listIterator();
LatLng sector = i.next();
while (i.hasNext()) {
Location.distanceBetween(latitude, longitude, sector.latitude, sector.longitude,currentDistance);
if (currentDistance[0] < 8) {
i.remove();
if(i.nextIndex() == 0) {
i = sectors.listIterator();
lap_count += 1;
lap.setText("Lap: " + lap_count);
sector_count = 1;
Toast.makeText(context, "Sector reached!", Toast.LENGTH_LONG).show();
sector_number.setText("Sector: " + sector_count);
}
else {
sector_count++;
Toast.makeText(context, "Sector reached!", Toast.LENGTH_LONG).show();
sector_number.setText("Sector: " + sector_count);
}
ListElementsArrayList.add("Lap: " + lap_count + "| Sector " + sector_count + ": " + chronometer.getText()); //
adapter.notifyDataSetChanged();
}
}
ListIterator i=sections.ListIterator();
LatLng扇区=i.下一个();
而(i.hasNext()){
位置.距离(纬度,经度,扇区.纬度,扇区.经度,当前距离);
如果(当前距离[0]<8){
i、 删除();
如果(i.nextIndex()==0){
i=扇区。listIterator();
圈数+=1;
lap.setText(“lap:+lap_计数”);
扇区计数=1;
Toast.makeText(上下文,“已到达扇区!”,Toast.LENGTH_LONG.show();
扇区号。setText(“扇区:+扇区计数”);
}
否则{
扇区计数++;
Toast.makeText(上下文,“已到达扇区!”,Toast.LENGTH_LONG.show();
扇区号。setText(“扇区:+扇区计数”);
}
添加(“圈数:+Lap\u计数+”扇区“+Sector\u计数+”:“+chronometer.getText())//
adapter.notifyDataSetChanged();
}
}