如何检查位置是否在我的半径范围内?

时间:2016-11-19 09:28:13

标签: android google-maps gps

我试图获取位置是否在我的半径范围内。 即我有我当前的位置“LatLng”对象,我有一个“LatLng”对象,我想检查这两个对象是否在1公里的范围内? 我该如何实现呢?

4 个答案:

答案 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则将该距离替换为半径,超出范围,否则为边界内或范围内的点...祝你好运