公式计算蓝牙设备之间的距离?

时间:2013-12-06 14:48:56

标签: ios bluetooth

我是IOS的初学者。我需要计算蓝牙设备之间的距离。当我谷歌它,我找不到测量设备之间距离的公式,理论上一切都是我无法理解的。所以如果有任何直接的公式来测量距离使用信号强度它会很酷。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

如果您的应用程序中涉及服务器端,您可以使用CLLocationManager Class获取两个设备的坐标,然后使用以下函数计算距离。

#define d2r (M_PI / 180.0)

+(float) haversine_km:(float)lat1: (float)long1: (float)lat2: (float)long2
{
float dlong = (long2 - long1) * d2r;
float dlat = (lat2 - lat1) * d2r;
float a = pow(sin(dlat/2.0), 2) + cos(lat1*d2r) * cos(lat2*d2r) * pow(sin(dlong/2.0), 2); 
float c = 2 * atan2(sqrt(a), sqrt(1-a));
float d = 6367 * c;

return d;
}


其中lat1,long1是第一个设备和lat2的坐标,long2是第二个设备的坐标。结果将以千米为单位,当然您可以将其转换为所需的单位。

答案 1 :(得分:0)

此查询有一个简单的解决方案。您应该查看以下链接,并了解如何解决此问题: -

How to measure distance between two iphone devices using bluetooth?