Java移动应用程序的地理位置?

问题描述 投票:3回答:5

有没有一种方法可以使用J2ME应用程序以编程方式确定移动电话的粗略地理位置,例如确定当前的小区?此问题尤其适用于非GPS设备。

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

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

java java-me mobile gis mobile-phones
5个回答
7
投票

如果设备支持JSR 179位置API,则可以使用此方法。上次我调查这几乎没有任何设备支持它,但那是几年前。


6
投票

这是我的第一篇文章stackoverflow。

你可以通过System.getProperty(String arg)在很多手机上获得cellID(移动设备连接的电话杆的id)这里我有一个例子,尝试几个键来查看是否可以找到cellID。我已经在很多索尼爱立信手机上测试了它,它运行正常,只要它不是像P1这样的Symbian手机等等。如果你在网上搜索,你可能会找到更多关键来找到cellID:s用于motorola,samsung等等。

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 = "";
}

0
投票

我不相信有一个通用的J2ME API来确定位置。

我知道BlackBerry有一个特定的API,不仅可以检索粗略的“小区”位置,还可以检索GPS API。

我担心目前GPS解决方案是制造商专有的。


0
投票

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


0
投票

IMO,没有应用程序可以自己做到这一点。它将需要卫星或移动电话(蜂窝塔)的帮助来操纵手机当前所处的位置,其再次精确到大约30-50米。

这里的计算将由Cell塔中的软件或卫星中的软件完成。您的应用程序将仅发出请求,然后接收作为响应发送的数据。

再次,您将使用的apis将是由手机公司或sattellite服务提供的api。这几乎从来都不是免费的。我不确定他们也把它卖给了oridinary用户。只有黑莓等大公司才有。

© www.soinside.com 2019 - 2024. All rights reserved.