Android java-检测半径内的标记

Android java-检测半径内的标记,java,android,google-maps,Java,Android,Google Maps,我正在制作一个应用程序,需要检测半径(圆)内的标记 我抬头看了看同一个问题,但每个答案都不对 代码- float[] distance = new float[2]; Location.distanceBetween(marker.getLatitude(), marker.getLongitude(), circle.getCenter().latitude,circle.getCenter().longitude,distance); if ( distance[0] <= cir

我正在制作一个应用程序,需要检测半径(圆)内的标记

我抬头看了看同一个问题,但每个答案都不对

代码-

float[] distance = new float[2];

Location.distanceBetween(marker.getLatitude(), marker.getLongitude(), circle.getCenter().latitude,circle.getCenter().longitude,distance);

if ( distance[0] <= circle.getRadius()){
      System.out.println("inside")
}
else{
   System.out.println("outside")
}
float[]距离=新的float[2];
Location.distanceBetween(marker.getLatitude(),marker.getLongitude(),circle.getCenter()。纬度,circle.getCenter()。经度,距离);

如果(距离[0]高,代码应该正常,不工作的意思是什么?你总是在外面?比较float和double时可能有问题?尝试打印两个坐标(标记和圆心)和圆的半径,以便“调试”手工计算价值观和价值观check@NDorigatti谢谢你的回复,是的,这正是问题所在。我已经尝试了你的建议,它们都是双精度的。不完全是,距离是一个浮点数组,而circle.getRadius不是,它是双精度的。不管怎样,你能举一个例子说明当你期望在内部和内部时值的输出吗stead正在外面显示?此外,我建议您检查这个库:它有一组方便的方法,比如:SphereCalutil.ComputedIstanceBeween(marker.getPosition(),circle.getCenter())@NDorigatti我正要给这两点,直到我注意到我使用的标记与我想要计算的标记不同。在我检查并修复了这两个标记后,计算成功,当标记位于圆圈内时,它是正确的。非常感谢您的帮助。您好,代码应该是正确的,您需要什么不工作意味着什么?你总是在外面?比较float和double可能是个问题?试着打印出两个坐标(标记和圆心)和圆的半径,这样你就可以“调试”手工计算价值观和价值观check@NDorigatti谢谢你的回复,是的,这正是问题所在。我已经尝试了你的建议,它们都是双精度的。不完全是,距离是一个浮点数组,而circle.getRadius不是,它是双精度的。不管怎样,你能举一个例子说明当你期望在内部和内部时值的输出吗stead正在外面显示?此外,我建议您检查这个库:它有一组方便的方法,比如:SphereCalutil.ComputedIstanceBeween(marker.getPosition(),circle.getCenter())@NDorigatti我正要给这两点,直到我注意到我使用的标记与我想要计算的标记不同。在我检查并修正了这两个标记后,计算成功,当标记位于圆圈内时,它是正确的。非常感谢您的帮助,先生。