Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android Java中测量圈数和扇区_Java_Android - Fatal编程技术网

在Android Java中测量圈数和扇区

在Android Java中测量圈数和扇区,java,android,Java,Android,我目前正在开发一个应用程序,这是为了让用户能够时钟圈周围的轨道,也通过部门驾驶。最让我困扰的是,我无法找到更好的方法来检测何时结束一圈或何时通过扇区,而且我也知道在循环中修改迭代器是个坏主意。发布的代码有点有效,但它严重依赖于位置的准确性(有时它会找到所有扇区,但大多数时候会跳过一些扇区)。我的主要目标是能够开始跑步并测量用户到扇区的驾驶情况,在计时器通过时重置计时器,扇区计数器增加1,当一圈中的所有扇区通过时,增加圈数并重置圈中的所有扇区。非常感谢您的任何想法或改进 阵列扇区是用户确定扇区的阵

我目前正在开发一个应用程序,这是为了让用户能够时钟圈周围的轨道,也通过部门驾驶。最让我困扰的是,我无法找到更好的方法来检测何时结束一圈或何时通过扇区,而且我也知道在循环中修改迭代器是个坏主意。发布的代码有点有效,但它严重依赖于位置的准确性(有时它会找到所有扇区,但大多数时候会跳过一些扇区)。我的主要目标是能够开始跑步并测量用户到扇区的驾驶情况,在计时器通过时重置计时器,扇区计数器增加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();
}
}