【问题标题】:How can I get accurate latitude/longitude of current GPS location?如何获得当前 GPS 位置的准确纬度/经度?
【发布时间】:2016-10-12 09:01:04
【问题描述】:

我正在使用GPS Tracker 类,我想获得准确的当前位置。

但每次,我都会得到不同的位置(精度为 20 米)。

GPS 追踪器类:http://eclatsol.net/GPSTracker.java

代码:

gpsTracker = new GPSTracker(getActivity());
if (gpsTracker.canGetLocation()) {
   mLatitude = gpsTracker.getLatitude();
   mLongitude = gpsTracker.getLongitude();
}

当时我正在做Indoors 测试。

【问题讨论】:

  • 哪个 gps 跟踪器类?
  • 开启高精度定位服务
  • @TimCastelijns 我做了高精度定位服务。我在 Ola 应用程序中也发现了这个错误
  • 抱歉,您能详细说明跟踪器类的来源吗?哪个进口?从未见过。
  • 臭名昭著的“GPS tracker”代码的问题详细解释in this blog post by Gabe Sechan。它不断地让那些寻找“简单解决方案”并最终使用糟糕示例代码的开发人员头疼。

标签: android google-maps gps geolocation android-gps


【解决方案1】:

您可以参考Fused Location API,它是高精度选项。文档says

PRIORITY_HIGH_ACCURACY - 使用此设置请求最精确的位置。使用此设置,定位服务更有可能使用 GPS 来确定位置。

现在我还在旧设备(三星 Galaxy S3)上进行了测试(室内,靠近阳台)。我正在接收 5m 到 15m 精度之间的位置更新。测试代码来自googlesamples/android-play-location

【讨论】:

    【解决方案2】:

    GPSTracker 类 私有静态最终长 MIN_DISTANCE_CHANGE_FOR_UPDATES = 10; 私有静态最终 long MIN_TIME_BW_UPDATES = 1000 * 5;

    【讨论】:

    • 我做到了,但它不准确
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 2019-10-11
    相关资源
    最近更新 更多