我正在一个应用程序上做一个项目,我需要根据我当前的位置发现其他设备。
我想以某种方式过滤这些设备,按照设备指向的北/南/东/西进行分类。
我读到一些文章说将 compass 方位转换为纬度和经度,但我如何知道纬度和经度是在我的右边还是左边?北还是南?
最佳答案
Android Maps Util 库有一个函数可以计算 2 个 LatLng
对象之间的方位角。
如果您还没有 Android map 库,请添加它
implementation 'com.google.maps.android:android-maps-utils:0.5'
将您当前的 LatLng
与其他设备的 LatLng
进行比较。
LatLng myLocation;
LatLng otherPhone;
double heading = SphericalUtil.computeHeading(myLocation, otherPhone);
现在您可以根据需要使用标题, double 代表从一个 LatLng 到另一个 LatLng 的标题。航向以从北开始顺时针旋转的度数表示,范围为 [-180,180)。
可以找到文档 here
关于java - 安卓 |获取当前位置的北/东南/东/西经纬度和经度范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49304961/