我正在处理一个应用程序,它必须找到用户位置的lat和long,然后在地图上显示。但是,当设备上有互联网时,它的工作正常。但当我尝试断开互联网后,它会得到lat和long null。
查询:
答案 0 :(得分:3)
事实上,Android有两种方法可以确定您的经度/纬度。
因此,如果GPS被停用(或由于室内或恶劣的气象条件而无法捕获信号)和网络,Android无法计算您的坐标。
答案 1 :(得分:0)
您可以通过实施LocationListener
和以编程方式确定设备位置
像这样的东西:
LocationManager locmgr = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locmgr.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, this); //"this" implements LocationListener
@Override
public void onLocationChanged(Location location) {
//do whatever with "location"
}
根本不需要互联网连接,您只需要一个位置提供商(A-GPS,GPS)
答案 2 :(得分:0)
如果要在地图上显示,请使用MyLocationOverlay。它比实现自己的locationListeners更容易。调用enableMyLocation onResume()和disableMyLocation onPause()。
您还可以将MyLocationOverlay子类化以更改图标,对位置更改执行自定义操作等。