我想围绕我当前的位置绘制圆圈,并在我的Android谷歌地图上找到其他用户进入这个圈子的范围内

时间:2011-04-08 05:01:02

标签: android

在我的gps应用程序中,我想围绕我当前的位置绘制圆圈我做了...但现在我发现其他用户进入了cirle范围所以我想在我的应用程序屏幕中使用popoup所以可以帮助我。 ..

2 个答案:

答案 0 :(得分:2)

你只需计算每个点与圆心之间的距离。

这可以通过以下方式完成:

double d2r = (180 / Math.PI);
double distance = 0;

try{
    double dlong = (endpoint.getLon() - startpoint.getLon()) * d2r;
    double dlat = (endpoint.getLat() - startpoint.getLat()) * d2r;
    double a =
        Math.pow(Math.sin(dlat / 2.0), 2)
            + Math.cos(startpoint.getLat() * d2r)
            * Math.cos(endpoint.getLat() * d2r)
            * Math.pow(Math.sin(dlong / 2.0), 2);
    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
    double d = 6367 * c;

    return d;

} catch(Exception e){
    e.printStackTrace();
}

然后

if(距离< CIRCLE_RADIUS)    //这一点在圈内。

答案 1 :(得分:0)

如果您知道圆心的坐标和朋友,您可以调用静态方法Location.distanceBetween()来查找距离。因为你必须知道圆半径的大小,它只是distanceBetween()和你的半径的结果的比较。