假设我们在道路两侧放置了两个信标.我们知道它们所处的纬度和经度(我们将它们视为位置).我们还知道这两个信标之间的距离(以米为单位)(使用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
总结以上是内存溢出为你收集整理的android-信标的两个地理位置之间的寻找点全部内容,希望文章能够帮你解决android-信标的两个地理位置之间的寻找点所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)