【问题标题】:gps doesn't provide my longitude and latitude accurately Android?gps 不能准确地提供我的经度和纬度 Android?
【发布时间】:2010-10-25 09:09:37
【问题描述】:

我正在使用定位服务来获取我所在位置的纬度和经度。运行我的程序时,它会给我错误的纬度和经度。我怎样才能准确地获取我当前的位置详细信息?手机/设备有设置吗?

String locationProvider = LocationManager.GPS_PROVIDER;
        if(!locationManager.isProviderEnabled(LocationManager.GPS_PROVIDER )) {
            locationProvider = LocationManager.NETWORK_PROVIDER;
        }
        Log.w(TAG,"CurrentLocProvider :"+locationProvider);

        location=locationManager.getLastKnownLocation(locationProvider);
        Log.i(TAG,"Location :"+location);
        if(location!=null){
            Log.i(TAG,"Location Lat :"+location.getLatitude());
            latitude = Double.toString(location.getLatitude());
            longitude = Double.toString(location.getLongitude());

            txtView.append("\nLatitude : "+latitude+"\n Longitude : "+longitude);
        }

一段时间后

public void onLocationChanged(Location location) {
Log.i(TAG,"Lat :"+location.getLatitude();
Log.i(TAG,"Long :"+location.getLongitude();


}

还给了我错误的位置。有时美国,在另一个设备中国。在不同的设备中它给出不同的结果? 怎样才能得到正确的结果?

谢谢, 啊。

【问题讨论】:

    标签: android gps


    【解决方案1】:

    嗯,如果设备 GPS 无法正常工作,则不太可能(但有可能)给您错误的坐标。

    BTW - 方法 getLastKnownLocation 可能返回完全错误的数据,如另一个 stackoverflow 问题中所述: 这个位置可能是“过时的”,因为该方法返回上次使用 GPS 时的位置。

    也请看一下 onStatusChanged。您可以输出 GPS 的状态变化,以便更好地了解正在发生的事情。

    【讨论】:

      【解决方案2】:

      您还应该检查是否启用了网络位置提供程序(用户可以在设置中禁用此功能):

      locationManager.isProviderEnabled(LocationManager.NETWORK_PROVIDER)
      

      或者更好:使用LocationManager.PASSIVE_PROVIDER

      【讨论】:

      • 在模拟器上 NETWORK_PROVIDER 给了我异常,但在设备上它可以工作但没有用。
      • NETWORK_PROVIDER 依赖于手机网络信息和/或 wifi 信息。如果您在没有连接到移动网络的情况下使用它并且您的 wifi 没有被 Google 映射(隐藏的 SSID 或人迹罕至的地方),那么您将得不到有意义的结果。
      • location=locationManager.getLastKnownLocation(LocationManager.PASSIVE_PROVIDER);
      • PASSIVE_PROVIDER 仅在其他应用程序使用位置信息时才有效。这对于在不强制使用 GPS/网络的情况下定期获取位置更新很有用。
      • 我正在使用 Android 级别 4.LocationManager.PASSIVE_PROVIDER 未包含在此级别中
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多