3

有没有办法使用 J2ME 应用程序以编程方式确定手机的大致地理位置,例如确定当前小区?这个问题尤其适用于不支持 GPS 的设备。

我不是在寻找一组地理坐标,而是让用户能够定义特定位置的软件行为。

任何硬件的解决方案都将受到高度赞赏;然而,解决方案越通用——越好。非常感谢!

4

5 回答 5

7

如果设备支持JSR 179位置 API,您可以使用它。上次我研究这个几乎没有任何设备支持它,但那是几年前的事了。

于 2008-10-23T11:52:00.833 回答
6

这是我的第一篇文章 stackoverflow。

您可以通过以下方式在许多手机上获取 cellID(手机连接的电话杆的 ID)。System.getProperty(String arg) 这里我有一个示例,它尝试了几个键来查看是否可以找到 cellID。我已经在很多 SonyEricsson 手机上对此进行了测试,只要它不是像 P1 之类的 Symbian 手机,它就可以正常工作。如果您在网上搜索,您可能会找到更多键来查找摩托罗拉、三星等的 cellID:s。

try{
  String[] cellIDTags = {"com.sonyericsson.net.cellid", "phone.cid", "Siemens.CID", "CellID"};
  for(int i = 0; i < cellIDTags.length; i++){
    cellID = System.getProperty(cellIDTags[i]);
    if(cellID != null && cellID != ""){
      location.setCellId(cellID);
      break;
    }
  }
}catch(Exception e){
  cellID = "";
}
于 2008-10-30T12:31:33.770 回答
0

我不相信有用于确定位置的通用 J2ME API。

我确实知道黑莓有一个特定的 API,不仅可以检索粗略的“手机”位置,还可以检索 GPS API。

恐怕目前,GPS 解决方案是由制造商专有的。

于 2008-10-23T11:49:11.027 回答
0

IMO,没有任何应用程序能够自己做到这一点。它将需要卫星或手机外壳的帮助,即手机信号塔,以训练手机当前所在的位置,该位置再次精确到大约 30-50 米。 定位电话

此处的计算将由蜂窝塔中的软件或卫星中的软件完成。您的应用程序只会发出请求,然后接收作为响应发送过来的数据。

同样,您将使用的 API 将是手机公司或卫星服务提供的 API。这些几乎从来都不是免费的。我不确定他们是否也将其出售给普通用户。只有像黑莓之类的大公司。

于 2008-10-23T12:03:44.427 回答
0

我浏览了许多应用程序下载站点,但没有找到:: 但我相信对此进行一些研究可以帮助您使用 J2ME API 构建自己的应用程序。由于 DAN 给出的代码给出了基站编号。您可以识别该单元格能够对应的最近车站。实际上,一个单元格能够同时捕获至少 6 个站点,因此 deamonkid 解释说,只要您有您所在地区或城市的地理参考地图,就可以使用多点定位来近似位置。该应用程序将计算距离最近的塔的距离和方向,并且地图已经有了该基站的坐标。所以你可以计算空间坐标(估计)suresh。你可以得到100米的精度。这可能需要您可能下载的信号强度测量应用程序。现在,如果您可以基于此生成代码,请分享。我也对此进行了广泛的研究。祝你好运

于 2009-01-22T09:43:24.447 回答