getLastKnownLocation()的位置与Google Map Application中的位置不同。为什么?

时间:2013-11-29 09:48:26

标签: android google-maps gps locationmanager

我从getLastKnownLocation()

获取当前位置
location = locationManager.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);

但是当我用Geocoder获取地址时,它不会给我真正的地址。 当我去Google Map Application时,它给了我确切的位置。

地理编码

List<Address> addresses = geocoder.getFromLocation(location.getLatitude(), location.getLongitude(), 10); 

              for (Address address : addresses) {
                 System.out.println("my location .."+address.getAddressLine(0));

             }

那么为什么我无法使用getLastKnownLocation()检索真实的当前位置,但谷歌可以吗?

是否有更准确的方法来获得我当前的位置?

2 个答案:

答案 0 :(得分:1)

LocationManager.NETWORK_PROVIDER并非在某个时间,请再次使用LocationManager.GPS_PROVIDER

答案 1 :(得分:0)

Network_provider根据网络提供商路由器的放置位置提供信息(纬度/经度)。大多数情况下,当我们通过网络访问位置时,它可能为我们提供了最接近的网络路由器位置,而实际上我们在那里。

由于