我已设置此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中的设置,然后是我调用的另一个活动
mLocationClient.requestLocationUpdates(mLocationRequestHigh, this);
然而,这只是搜索位置,但它似乎永远不会得到一个位置。我错过了/做错了什么,或者只是到了我的位置?如果我加载谷歌地图,它会在几秒钟内获得我的位置。
答案 0 :(得分: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地图一样执行,则必须遵循上述文章中的所有提示。 Google地图的源代码不公开,因此您不能只复制粘贴代码。