我已尝试FusedLocationAPI
,但与setMyLocationEnabled(true)
相比,它返回的准确度太高,因此结果如下,其中蓝色圆圈由setMyLocationEnabled
绘制,黑色是由FusedLocationAPI
绘制的准确度。
http://i63.tinypic.com/5vbnuq.png
我也使用了这段代码
LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
Location myLocation = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (myLocation == null) {
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
String provider = lm.getBestProvider(criteria, true);
myLocation = lm.getLastKnownLocation(provider);
}
LatLng myPos = new LatLng(myLocation.getLatitude(), myLocation.getLongitude());
googleMap.addMarker(new MarkerOptions().position(myPos).title("Start"));
但绘制的标记再次与他setMyLocationEnabled(true)
相距太远
http://i67.tinypic.com/xkrqdc.png
所以我想知道是否有更好的方法来更准确地获取位置?
答案 0 :(得分:1)
尝试在criteria.setAccuracy(Criteria.ACCURACY_COARSE);
希望帮助中使用 ACCURACY_FINE 代替 ACCURACY_COARSE 。