0

我们可以在不使用互联网的情况下获取设备当前的纬度和经度吗?我正在使用以下代码。我在单击按钮后触发位置侦听器。

        locationListener = new MyLocationListener();
        location.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 5000, 20, locationListener);


  private class MyLocationListener implements LocationListener 
  {
    @Override
    public void onLocationChanged(Location loc) 
    {
        longitude = String.valueOf(loc.getLongitude());  
        latitude = String.valueOf(loc.getLatitude());
                  ...
    }
}

它在连接到 Internet 时可以很好地获取经度和纬度值,但在未连接到 Internet 时返回 null。

可能是什么问题呢?LocationManager.NETWORK_PROVIDER, 5000, 20, locationListener 是否需要互联网才能获得经纬度?

如果需要互联网,那么网络提供商 NETWORK_PROVIDER 和 GPS_PROVIDER 有什么区别?

4

1 回答 1

1

网络提供商将 Cell ID/WiFi 读数信息转换为纬度/经度地址,并且需要数据连接来执行此操作。(它访问具有此类信息数据库的 Google 服务器)

使用 GPS 提供程序。它不需要互联网。

于 2013-01-22T06:39:39.400 回答