在android中实现三角测量[关闭]
Posted
技术标签:
【中文标题】在android中实现三角测量[关闭]【英文标题】:Implementing Triangulation in android [closed] 【发布时间】:2010-10-26 18:12:42 【问题描述】:大家好: 我是安卓新手。我正在 android 2.2 中开发一个应用程序,以通过任何可用资源(GPS、网络等)来识别用户的位置。我已经通过 GPS 找到位置并使用 SIM 网络和互联网。现在的问题是要在没有 GPS 且没有互联网可用时定位设备。在这种情况下,我必须实施三角测量。 我知道 triangulation 概念的理论,但实施对我来说确实是一笔大买卖。 任何机构会指导我解决问题吗?我已经搜索了网络,但没有找到任何解决方案。
【问题讨论】:
三角测量仍然需要用于距离/幅度测量的信号。您希望根据哪个信号进行三角测量? 来自手机信号塔的信号。我们可以在 TelephonyManager 类中使用 getNeighbouringCellInfo() 来了解范围内的手机信号塔。 了解附近的塔也无济于事。您必须能够在信号从空中发射时直接检查它,选择时间参考并使用到达时间差来确定您的位置。另外,您还需要知道每个塔的确切位置,这在 TelephonyManager 中是不可用的。相信我:去过那里,做过那个,得到了 T 恤。您不会在 Android 中实现它。throw new NotGoingToHappenException();
【参考方案1】:
You are re-inventing the wheel.
更新: 要根据手机信号塔检测您的位置,您需要知道它的位置。有两种方法可以做到:
-
请求网络服务(例如 goople 地图)。需要互联网连接。
从本地数据库中获取单元格位置。需要将大型数据库存储在本地,因此性能可能会很低。
【讨论】:
也许你是对的,但想法是“如果你的设备(如诺基亚、三星等)中没有 GPS 和互联网功能,那么确定位置的唯一选择就是使用三角测量” .感谢您的快速回复。 那么您打算如何在没有互联网接入的情况下获取手机信号塔的位置?存储设备中所有单元格的数据库? 我可以在使用 android 的设备周围获取 cid 、 las 和 RSSI 的信号塔,但不能获取 lat long 的信号塔。 没有基站的经纬度三角测量是不可能的。除非您想通过 MCC 代码显示国家/地区 :) 这就是如何找到塔的纬度或是否有人可以告诉如何计算与塔的距离的问题。【参考方案2】:我认为这个帖子对你很有用。如果我正确理解您的需求,那么您需要一种方法来对某个设备进行三角测量,比如说。这里的LINK 提供了一种根据设备最后已知位置了解设备经度和纬度的方法(可能是设备在过去某个时间点连接到 GPS 或某个网络等任何设备)。 您可以将其放入代码中以确定最后一个已知位置,即使它是由上述任何此类提供者在 5 秒前设置的。当您收集经度和纬度数据时,您几乎可以知道这个东西在哪里。下一站应该是 API 或请求网络服务,如前所述(G.Maps),用于在地图上精确定位位置。 如果您打算做一些类似于 G.Maps 的事情 - 至少可以说是巨大的。如果我是你,我会使用这样的 API 来显示位置,如果你想对地图图像做点什么,你可以截屏或其他什么。
如果我不明白您的意图,希望能帮上忙。
干杯
【讨论】:
以上是关于在android中实现三角测量[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
是否有任何开源库或代码项目可以在android中实现airplay? [关闭]
如何在 Android 应用程序中实现 Google Analytics? [关闭]
如何在 ListView 中实现 Android 4.0 之类的滑动以关闭功能?