【发布时间】:2013-09-18 10:10:39
【问题描述】:
在我的应用程序中,我有一个位置侦听器,它会记录位置精度并在我所在的地图上放置一个标记,但是精度始终在 900 标记附近,并且我的位置在我所在位置的 0.2 到 0.5 英里之间实际上是。如果我加载谷歌地图,它会在几米之内得到我的位置。
有什么方法可以确保准确的位置?我的清单中有这些权限
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
这是我的听众
LocationListener searchUsingLocation = new LocationListener() {
@Override
public void onLocationChanged(Location location) {
float accuracy = location.getAccuracy();
Log.d("FUApp", "Location changed: "+accuracy);
List<JSONObject> centres = sortVenuesByNearest(location);
try {
populateList(centres);
} catch (JSONException e) {
e.printStackTrace();
}
setRefreshActionButtonState(false, R.id.search_using_location);
}
@Override
public void onStatusChanged(String s, int i, Bundle bundle) {
}
@Override
public void onProviderEnabled(String s) {
}
@Override
public void onProviderDisabled(String s) {
}
};
Log.d("FUApp", "Starting request");
locationService.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 50, 5, searchUsingLocation);
编辑:还有我的手机设置,打开访问位置,打开 GPS 卫星,Wi-Fi 和移动网络位置也打开。
【问题讨论】: