假设我们有两个beacons
放置在道路两侧。我们知道他们的latitude
and longitude
它们所在的位置(我们将它们视为一个位置)。我们还知道distance
两者之间以米为单位beacons
(使用半正矢公式测量)。我们的设备正在这两点之间(在这些信标的范围内)移动。是否有任何函数可以帮助我们根据两个信标之间的距离或根据设备到单个信标的距离来计算当前位置?
我如何根据我拥有的这些数据找到设备的位置,或者有什么东西对实现我想要的东西有用?
简而言之:我想知道用户位于两个之间的位置BEACONS
不使用 GPS 系统,但我从信标获得的数据(在本例中:准确的信标位置、用户到信标的准确距离以及两个信标之间的准确距离)
举例来说:
(Filled Black dots
are BEACONS
带着想象的Range
, Red dots
有一些user unknown positions
and Green Lines
是Known Distances
;我们也知道latitude and longitude
黑点)根据这些数据我想找到用户的位置(单个红点)
note:我查了一下这个question https://stackoverflow.com/questions/7676845/how-to-find-a-geographic-point-between-two-other-points但是我不明白为什么该位置会作为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) {
}
}
EDIT :
看到这个帖子
将任意点的米转换为纬度经度 https://stackoverflow.com/questions/8586635/convert-meters-to-latitude-longitude-from-any-point
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)