【问题标题】:how to get gps and network location together with j2me location API如何使用 j2me 位置 API 获取 gps 和网络位置
【发布时间】:2012-05-17 07:35:26
【问题描述】:

我正在尝试实现一种位置跟踪器类型的应用程序。我需要在特定时间获取位置,但是当我尝试时我注意到,如果我的手机没有获得 gps 位置,它就不会寻找网络位置。当我在手机设置中打开 gps 时,它会获取网络位置。我如何同时使用两者或在代码中设置要使用的内容。我使用 java ME 位置 API。 提前致谢。

编辑: 这是我获取位置的代码:

    Criteria cr= new Criteria();
    cr.setHorizontalAccuracy(500);
    cr.setCostAllowed(true);

    // Get an instance of the provider
    LocationProvider lp= LocationProvider.getInstance(cr);
    // Request the location, setting a one-minute timeout
    Location l = lp.getLocation(60);
    QualifiedCoordinates c = l.getQualifiedCoordinates();

    if(c != null ) {
        // Use coordinate information
        double lat = c.getLatitude();
        double lon = c.getLongitude();
        double acc = c.getHorizontalAccuracy();

        form.append("latitude: " + lat);
        form.append("\nlongitude: " + lon);
        form.append("\nacc: " + acc);
    }

【问题讨论】:

    标签: networking java-me gps location jsr179


    【解决方案1】:

    您不能使用 API 定义位置提供程序的方法。硬件的实现是透明的(在这个操作背后)。 你写的是正确的。您只能从一个来源获取位置,并且该来源取决于手机设置(位置设置)。

    但是,您可以尝试通过识别与设备关联的网络单元来读取基于网络的位置。 这个article 提供了一个代码示例应该很有用。

    【讨论】:

    • 好的,我还有一个问题。我如何理解位置提供者是 gps 还是网络?
    • developer.nokia.com/Community/Wiki/… 在 run() 方法中有一行设置位置检索方法: int[] methods = {(Location.MTA_ASSISTED | Location.MTE_CELLID | Location.MTE_SHORTRANGE | Location.MTY_NETWORKBASED) };
    • 谢谢。我现在正在下载sdk。我希望这能解决我的问题:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-11
    • 1970-01-01
    • 2011-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多