假设我们在道路两侧放置了两个信标.我们知道它们所处的纬度和经度(我们将它们视为位置).我们还知道这两个信标之间的距离(以米为单位)(使用haversine公式测量).我们的设备正在这两个信标之间(在这些信标的范围内)移动.是否有任何功能可以帮助我们根据两个信标之间的距离或从设备到单个信标的距离来计算当前位置?
我如何根据我拥有的这些数据找到设备的位置,或者有什么东西对实现我想要的有用?
简短地说:我想知道用户在不使用GPS系统的情况下位于两个BEACONS之间的位置,但是我从信标获得了数据(在这种情况下:确切的信标位置,从用户到信标的确切距离以及两个信标之间的确切距离)
举例说明:
(填充的黑点是具有虚假范围的BEACONS,红点是用户未知的位置,绿线是已知距离;我们还知道黑点的纬度和经度)基于这些数据,我想找到用户的位置(单红点)
注意:我签出了question,但是我不明白为什么该位置以int形式返回,以及为什么其中包含了时间t.
解决方法:
private Location BeaconLocation1() {
Location location = new Location("POINT_LOCATION1");
location.setLatitude(45.0);
location.setLongitude(45.0);
return location;
}
private Location BeaconLocation2() {
Location location = new Location("POINT_LOCATION2");
location.setLatitude(45.5);
location.setLongitude(45.5);
return location;
}
public class MyLocationListener implements LocationListener {
public void onLocationChanged(Location location) {
Location pointLocation1 = BeaconLocation1();
Location pointLocation2 = BeaconLocation2();
float distance1 = location.distanceto(pointLocation1);
float distance2 = location.distanceto(pointLocation2);
Toast.makeText(MapsActivity.this,
"distance from Point1: "+distance1+" Meters", Toast.LENGTH_LONG).show();
Toast.makeText(MapsActivity.this,
"distance from Point2: "+distance2+" Meters", Toast.LENGTH_LONG).show();
}
public void onStatusChanged(String s, int i, Bundle b) {
}
public void onProviderdisabled(String s) {
}
public void onProviderEnabled(String s) {
}
}
编辑:
看到这篇文章
convert meters to latitude longitude from any point
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。