我试图获取位置是否在我的半径范围内。 即我有我当前的位置“LatLng”对象,我有一个“LatLng”对象,我想检查这两个对象是否在1公里的范围内? 我该如何实现呢?
答案 0 :(得分:3)
在Location.distanceBetween()
函数中为您提供以米为单位的距离和浮动值。
distanceBetween(double startLatitude,double startLongitude,double endLatitude,double endLongitude,float [] results)计算 两个位置之间的近似距离,以及可选的 它们之间最短路径的初始轴承和最终轴承。
使用它工作我已经检查过.....
float[] dist = new float[1];
Location.distanceBetween(firstLoaction.latitude,firstLoaction.longitude,anotherLocation.latitude,anotherLocation.longitude,dist);
if(dist[0]/1000 > 1){
//here your code or alert box for outside 1Km radius area
}
注意: - 要获取位置距离,请始终使用ANDROID提供的Location.distanceBetween()
。
答案 1 :(得分:2)
double distanceInKiloMeters = (currentLocation.distanceTo(someLocation)) / 1000; // as distance is in meter
if(distanceInKiloMeters <= 1) {
// It is in range of 1 km
}
else {
// not in range of 1 km
}
答案 2 :(得分:0)
您可以先尝试将LatLng转换为Location对象,然后使用distanceTo方法查找这两者之间的距离并检查它是否为1km
答案 3 :(得分:0)
distanceto methode以获得距离locCenter和point的距离,如果&lt; 0则将该距离替换为半径,超出范围,否则为边界内或范围内的点...祝你好运