2011-02-25 229 views
1

我工作的一个应用程序必须找到用户的位置经纬度,然后显示在地图上。但是,当互联网在设备上的工作正常。但当我尝试断开互联网后,它变得拉特和长空。安卓纬度和经度

查询:

  1. 是,如果我想找到lat和长programmaticly互联网连接应该在那里?
  2. 没有连接到互联网,我可以找到lat和long programmaticaly吗?

回答

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)

3

事实是,Android有两种方式来确定您的经度/纬度。

  • 如果GPS被激活,它采用了GPS
  • 如果不是,它使用的网络(或WiFi)来确定,根据你所在的小区,或IP地址。

因此,如果GPS被停用(或无法捕获信号,由于在室内或恶劣气象条件下)以及网络,Android无法计算您的坐标。

+0

应该说,GPS可以被激活,但没有信号从卫星(例如天空多云)。 –

+0

新增了这部分,谢谢:) –

0

如果要在地图上显示它,请使用MyLocationOverlay。它更容易实现自己的位置监听器。调用enableMyLocation onResume()和disableMyLocation onPause()。

您也可以继承MyLocationOverlay更改图标,进行自定义的东西上的位置变化等