【问题标题】:requestLocationUpdate doesn't updaterequestLocationUpdates 不更新
【发布时间】:2013-09-20 08:45:53
【问题描述】:

我已经设置了这个 LocationRequest

private static final int MILLISECONDS_PER_SECOND = 1000;

public static final int UPDATE_INTERVAL_IN_SECONDS = 5;

private static final long UPDATE_INTERVAL = MILLISECONDS_PER_SECOND * UPDATE_INTERVAL_IN_SECONDS;

private static final int FASTEST_INTERVAL_IN_SECONDS = 1;

private static final long FASTEST_INTERVAL = MILLISECONDS_PER_SECOND * FASTEST_INTERVAL_IN_SECONDS;


mLocationClient = new LocationClient(this, this, this);
mLocationRequestHigh = LocationRequest.create();

mLocationRequestHigh.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);

mLocationRequestHigh.setInterval(UPDATE_INTERVAL);

mLocationRequestHigh.setFastestInterval(FASTEST_INTERVAL);

这是在我的 BaseActivity 中设置的,然后在我调用的另一个 Activity 中设置

mLocationClient.requestLocationUpdates(mLocationRequestHigh, this);

但是,它只是搜索位置,但似乎从未获得位置。我是否错过/做错了什么,或者可能只是我所在的位置?如果我加载谷歌地图,它会在几秒钟内获得我的位置。

【问题讨论】:

    标签: android geolocation android-location


    【解决方案1】:

    Google 地图不仅使用 GPS,还使用您的网络位置。还有像 getLastKnownLocation() 这样的方法可以快速修复。 LocationRequest.PRIORITY_HIGH_ACCURACY 意味着您将只使用 GPS 并因此等待 GPS 修复。使用 Google Play 商店中的“假 GPS 位置”应用程序来确保 GPS 是否在您的应用程序中工作。如果它与“假 GPS”有关,那么它只是连接到卫星问题。

    您可以在

    获得更多详细信息

    http://developer.android.com/guide/topics/location/strategies.html

    通常,如果您希望您的应用像 Google 地图一样运行,则必须遵循上述文章中的所有提示。谷歌地图的源代码不对外公开,​​所以你不能只是复制粘贴他们的代码。

    【讨论】:

    • GPS 现在终于可以获取我的位置,但我会将优先级更改为更快的。我现在看看那个策略页面。
    • @TomHart 是的,GPS 会变得非常慢。我建议您结合上面文章中描述的技术,以获得速度/准确性之间的最佳折衷。
    猜你喜欢
    • 2014-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多