距离要在wifi关闭时不起作用

时间:2013-11-26 17:20:47

标签: android google-maps-android-api-2

你好,这是一个非常古怪的错误。我试图将distanceTo()从我的位置移到一个固定的位置,我知道它到底有多远。当我的WiFi关闭时,我得到一个非常奇怪的数字但是当WiFi打开时,即使它没有连接到任何网络,我得到正确的号码。这是什么原因。我正在测试三星Galaxy S3。

locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
Criteria crit = new Criteria();
str = locationManager.getBestProvider(crit, false);
locationManager.requestLocationUpdates(str , 0, 1, this);

@Override
public void onLocationChanged(Location location) {
    LatLng myLatLng = new LatLng(location.getLatitude(), location.getLongitude());
    Location destination = new Location("dest");

    destination.setLatitude(54.008447);
    destination.setLongitude(-2.783383);
    float distance = location.distanceTo(destination);
    CameraUpdate cameraUpdate = CameraUpdateFactory.newLatLngZoom(myLatLng, 15);
    mMap.animateCamera(cameraUpdate);
    String destLocation;
    destLocation = distance/2 +"";
    Log.e("distance", destLocation);
    locationManager.removeUpdates(this);
}

我不使用getLastKnownLocation,因为我在某处读到它不可靠,最好在显示您的位置之前获取位置更新。

1 个答案:

答案 0 :(得分:0)

当您在地图上看到蓝点时,请使用mMap.getMyLocation()mMap.setOnMyLocationChangeListener(...)代替使用LocationManager的所有代码。您将获得正确的位置。