将当前位置与 50 英里内的数据库位置列表匹配

Matching current Location with Database list of location with in 50 miles

我正在尝试处理应用程序,其中我有数据库中的位置列表,我想检查数据库中的哪个位置在几英里(如 20 英里)内靠近我当前的位置,并且列表会自动刷新细化位置,然后向用户发送您已进入该位置的通知...

我已经搜索过这个并开始了解地理围栏但是我没有正确理解它..所以请建议我应该如何开始使用它......任何示例,代码或 link 都会有帮助

提前致谢

我使用了一个函数 distanceTo 来计算到 Locations 之间的距离。

我只将它编码为 100 米,您需要更改要比较的距离值。

private boolean isMarkerIn100(ArrayList<Model> arrayList) {
        Location locationA = new Location("LocationA");
        locationA.setLatitude(latitude);
        locationA.setLongitude(longitude);

        for (int i = 0; i < arrayList.size(); i++) {
            Location locationB = new Location("LocationB");
            locationB.setLatitude(arrayList.get(i).getLat());
            locationB.setLongitude(arrayList.get(i).getLng());
            if (locationA.distanceTo(locationB) < 100 && arrayList.get(i).getHit() > 4) {
                return false;
            }
        }
        return true;
    }

在上面的代码中,latitudelongitude 是我(用户)的位置(比如 locationA),ArrayList 是来自数据库的数据 latlng.