【问题标题】:How to filter my nearby location by passing current location , radius and lat lon of near by locations [closed]如何通过传递附近位置的当前位置、半径和纬度来过滤我附近的位置[关闭]
【发布时间】:2014-06-30 06:06:13
【问题描述】:

输入:

  1. 当前位置经纬度
  2. 半径
  3. 经纬度附近列表

所需输出:

从我当前位置到提供的半径范围内的纬度列表。

谁能给我实现的方法?

我有以下代码来检查传递的位置是否在传递的半径范围内......我们如何优化更多? 我不是每次都使用 for 循环来检查我的所有位置

public static boolean pointIsInCircle(PointF pointForCheck, PointF center,
        double radius) {
    if (getDistanceBetweenTwoPoints(pointForCheck, center) <= radius)
        return true;
    else
        return false;
}


public static double getDistanceBetweenTwoPoints(PointF p1, PointF p2) {
    double R = 6371000; // m
    double dLat = Math.toRadians(p2.x - p1.x);
    double dLon = Math.toRadians(p2.y - p1.y);
    double lat1 = Math.toRadians(p1.x);
    double lat2 = Math.toRadians(p2.x);

    double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.sin(dLon / 2)
            * Math.sin(dLon / 2) * Math.cos(lat1) * Math.cos(lat2);
    double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
    double d = R * c;

    return d;
}

【问题讨论】:

  • 到目前为止,您在编码或搜索方面的努力在哪里?
  • @Smutje 我也提交了代码。您能否给出一些解决方案并删除您的反对票。

标签: java android google-maps geolocation location


【解决方案1】:

使用 Geo-Fencegeo-fence 是真实世界地理区域的虚拟边界。 geo-fence 可以动态生成——例如在商店或点位置周围的半径中。或者,地理围栏可以是一组预定义的边界,例如上学区或社区边界。自定义数字化地理围栏也在使用中。

点击链接simple example。 当基于位置的服务 (LBS) 用户的位置感知设备进入或退出地理围栏时,该设备会收到生成的通知。此通知可能包含有关设备位置的信息。

地理围栏,与儿童定位服务一起使用,可以在孩子离开指定区域时通知父母。[

【讨论】:

  • 谢谢,但我正在寻找别的东西
【解决方案2】:

看起来你想去附近的地方,所以你可以去:https://developers.google.com/places/documentation/search#PlaceSearchRequests 在实施时遇到任何疑问,请随时提出

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-28
    • 2014-11-23
    • 1970-01-01
    相关资源
    最近更新 更多