检查标记是否在圆弧半径内

我想知道一个给定的标记是否在一个圆的半径内。

在JavaScript中,我可以做这样的事情:

google.maps.geometry.spherical.computeDistanceBetween(latLngCircleCenter, latLngPoint); 

但在Android中,使用maps-v2,我被困住了。

在这里输入图像说明

Solutions Collecting From Web of "检查标记是否在圆弧半径内"

经过大量的研究,我发现了一个非常简单的解决scheme:

 float[] distance = new float[2]; Location.distanceBetween( marker.getPosition().latitude, marker.getPosition().longitude, circle.getCenter().latitude, circle.getCenter().longitude, distance); if( distance[0] > circle.getRadius() ){ Toast.makeText(getBaseContext(), "Outside", Toast.LENGTH_LONG).show(); } else { Toast.makeText(getBaseContext(), "Inside", Toast.LENGTH_LONG).show(); } 

我正在testing这个,它的工作。 有人可以testing,并在这里给予反馈?

您可以在Android中使用相同的API在JavaScript中可用: https : //github.com/googlemaps/android-maps-utils/blob/master/library/src/com/google/maps/android/SphericalUtil.java

我认为有可能find圆圈的中心,你正在代码中定义圆圈,并遵循给定的地理点。 您可以保存并稍后使用。 然后尝试Location.distanceBetween(..)