所以,我目前正在开发一个基于地图的应用程序,并遵循大量教程来根据网络或 gps 提供商更新用户位置,但我更喜欢网络。像这样:
locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
mlocListener = new CustomLocationListener();
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);
我的 CustomLocationListener 类是这样的:
public class CustomLocationListener implements LocationListener {
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
System.out.println("Location Updated");
userCoordinate = new LatLng(location.getLatitude(), location.getLongitude());
// Move the camera instantly to kiel with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(userCoordinate, 14));
// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomTo(14), 2000, null);
}
public void onProviderDisabled(String provider) {
System.out.println("provider disabled");
Toast.makeText(getBaseContext(), "GPS mode disabled", Toast.LENGTH_SHORT).show();
}
public void onProviderEnabled(String provider) {
System.out.println("provider enabled");
Toast.makeText(getBaseContext(), "GPS mode enabled", Toast.LENGTH_SHORT).show();
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
}
当我编译它并在我的设备上运行时,你知道这很好用。它可以快速将相机聚焦在用户坐标当前位置上。但不知何故,有一天,当我在其他地方尝试我的设备时,它突然出现了!不再起作用了!
我尝试将我的项目恢复为我的 git 上的初始提交(当代码用于更新用户位置时),但它仍然不再起作用!
我尝试使用
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, mlocListener);
但它仍然不再起作用了!为什么?为什么?为什么?
我在手机上打开谷歌的地图应用程序,这很正常!我不认为我的手机坏了!我不知道男人!索尼 XPERIA 米罗
请给我解决方案...我很困惑!