代码之家  ›  专栏  ›  技术社区  ›  Vlad Gudim nuriaion

Java移动应用的地理位置?

  •  3
  • Vlad Gudim nuriaion  · 技术社区  · 16 年前

    有没有一种方法可以用J2ME应用程序以编程方式确定手机的大致地理位置,例如确定当前的手机?这个问题尤其适用于非GPS设备。

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

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

    5 回复  |  直到 6 年前
        1
  •  7
  •   Dan Dyer    16 年前

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

        2
  •  6
  •   user32691    16 年前

    这是我第一次发帖一堆溢出。

    你可以在很多手机上通过 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 = "";
    }
    
        3
  •  0
  •   Ken Gentle    16 年前

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

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

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

        4
  •  0
  •   Chandan das    16 年前

    我浏览过许多应用程序下载站点,但没有找到任何: 但我相信,对这方面的一些研究可以帮助您使用J2MEAPI构建自己的应用程序。 因为丹给出的代码给出了基站号。您可以识别单元能够对应的最近的站点。实际上,一个小区能够同时捕获至少6个站点,因此,正如迪蒙基德解释的那样,如果你有你所在地区或城市的地理参考图,那么多延迟可以用来近似定位。应用程序将计算离最近的塔的距离和方向,地图已经具有该基站的坐标。所以你可以计算空间坐标(估计)Suresh。 你可以通过这个得到100米的精度。 这可能需要信号强度测量应用程序,您可以下载。 现在,如果您可以基于此生成代码,请共享。我也对这方面进行了广泛的研究。祝你好运,当然。

        5
  •  0
  •   Glorfindel Doug L.    6 年前

    在我看来,没有任何应用程序能够自己做到这一点。它将需要卫星的帮助,或者在移动电话的情况下,也就是手机发射塔,来训练手机当前所在的位置,这同样精确到30-50米左右。 Locate phone

    这里的计算将由发射塔或卫星上的软件完成。您的应用程序将只发出一个请求,然后接收响应中发送的数据。

    同样,您将要使用的API将是由手机公司或Sattellite服务提供的API。这些几乎从来都不是免费的。我不确定他们也会把它卖给原始用户。也许只有像黑莓这样的大公司。