我一直对这个很困惑。似乎我对 Google map 或拉取用户位置的实现很不稳定。现在我在不同设备上得到的结果非常分散,我不确定为什么,但纬度/经度有时会归零。
有没有人有什么想法?
这是我用来获取当前位置的方法。
try {
locationListener = new MyLocationListener();
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER, 0, 0, locationListener);
loc = locationManager.getLastKnownLocation("gps");
if (loc == null) {
loc = locationManager.getLastKnownLocation("network");
}
if (loc != null && loc.getLongitude() != 0.0
&& loc.getLatitude() != 0.0) {
sLng = (loc.getLongitude());
sLat = (loc.getLatitude());
}
} catch (Exception e) {
e.printStackTrace();
}
最佳答案
您正在使用上次缓存的位置。这仅在最近使用 GPS 时(手机启动后)才可靠
你 have to use location obtained from the onLocationChanged()
回调以获取更多最新位置。
关于android - Android 中的 Google map 将纬度/经度初始化为 0.0(有时...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9779292/