在我的应用中,用户选择一个按钮来检索他的位置。 如果这是他第一次在此商店中使用该应用程序,该应用程序将使用用户位置来设置商店位置,因此它必须非常准确。 然后,当用户回到商店时,他将能够知道商店和他自己的位置之间的距离。
在这种情况下,我需要商店位置与posible =>一样准确。禁用Wifi提供商。 然后,当商店位置填满时,我可以使用wifi来获取用户位置,这样我就节省了电池。
现在,当启用wifi或3g时,获取位置非常快,但我应该有250米的差异。 找到一家商店我买不起这么大的差价。所以我需要强迫用户使用GPS提供商而不是wifi。
我该怎么办? AFAIK,我只能改变优先级:
LocationRequest.PRIORITY_HIGH_ACCURACY
LocationRequest.PRIORITY_BALANCED_POWER_ACCURACY
LocationRequest.PRIORITY_LOW_POWER
LocationRequest.PRIORITY_NO_POWER
如何强制提供商成为GPS ???
这是我的设置:
mLocationRequest = LocationRequest.create();
/*
* Set the update interval
*/
mLocationRequest
.setInterval(LocationUtils.UPDATE_INTERVAL_IN_MILLISECONDS);
// Use high accuracy
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
// Set the interval ceiling to one minute
mLocationRequest
.setFastestInterval(LocationUtils.FAST_INTERVAL_CEILING_IN_MILLISECONDS);
mLocationClient = new LocationClient(this, this, this);
答案 0 :(得分:0)
我一半解决了我的问题。
我不能限制提供者,但我可以处理准确性。
所以,虽然(精确度> 100),继续寻找坐标。
你怎么看?