Android 将当前位置与50英里内位置的数据库列表相匹配
我正在尝试在应用程序上工作,其中我有数据库中的位置列表,我想检查数据库中的哪个位置在几英里(如20英里)内靠近我的当前位置,该列表会自动使用优化的位置刷新,然后向用户发送通知,告知您已输入此位置 我对此进行了搜索,并了解了地理围栏,但我没有正确地理解它。。所以请建议我应该如何开始工作。。。任何示例、代码或链接都将非常有用Android 将当前位置与50英里内位置的数据库列表相匹配,android,sqlite,android-studio,location,android-geofence,Android,Sqlite,Android Studio,Location,Android Geofence,我正在尝试在应用程序上工作,其中我有数据库中的位置列表,我想检查数据库中的哪个位置在几英里(如20英里)内靠近我的当前位置,该列表会自动使用优化的位置刷新,然后向用户发送通知,告知您已输入此位置 我对此进行了搜索,并了解了地理围栏,但我没有正确地理解它。。所以请建议我应该如何开始工作。。。任何示例、代码或链接都将非常有用 提前感谢我使用了一个函数distance to来计算to位置之间的距离 我把它编码为100米,你们需要改变你们想要比较的距离值 private boolean isMarker
提前感谢我使用了一个函数
distance to
来计算to位置之间的距离
我把它编码为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;
}
private boolean isMarkerIn100(ArrayList ArrayList){
位置A=新位置(“位置A”);
地点a.设置纬度(纬度);
位置a.设置经度(经度);
对于(int i=0;i4){
返回false;
}
}
返回true;
}
在上面的代码中,
纬度
和经度
用于我(用户)的位置(比如位置A),而阵列列表
是来自lat
和lng
数据库的数据,谢谢。。。但我如何像在arraylist中那样从sqlite检索数据。。。我制作了两个不同的列表,如ArrayList al_getLatitude=new ArrayList();ArrayList al_get_longitude=新的ArrayList();我想我还得在巴塔巴斯的课上写Arraylist。。。但是我不知道。。你们可以发布代码吗?或者说ArrayList数据来自服务器,所以你们需要为你们的本地数据库编写代码。同时为Lat和lng制作一个模型类