WAI
Status Update
Comments
jd...@gmail.com <jd...@gmail.com> #2
Meant to use Public Trackers > Google Maps Platform > Android2 as component, can it be moved if appropriate when reviewed?
ad...@google.com <ad...@google.com> #3
We have passed this to the development team and will update this issue with more information as it becomes available.
jd...@gmail.com <jd...@gmail.com> #4
Great news! Look forward to any/all updates as they become available.
ad...@google.com <ad...@google.com> #5
Thanks for keeping an eye on accuracy estimate - your catch of the (too high) 10 meter floor was especially helpful. Regarding the approximately 3 meter limit you are currently observing, this is by design. In our experience, when Location accuracy reports from a GPS chipset are less than 3 meters, these are more often confidently wrong, than they are helpfully indicative of better accuracy. We continue to monitor location accuracy from GPS (and fusion with other technologies) and you can expect further improvements to the accurate estimate over time.
jd...@gmail.com <jd...@gmail.com> #6
Thanks for taking the time to confirm the design and explain the reasoning, we look forward to future improvements.
pa...@gmail.com <pa...@gmail.com> #7
There could be some inconsistency with the recent Google IO talk:
How to get one-meter location-accuracy from Android devices (Google I/O '18)
https://www.youtube.com/watch?v=vywGgSrGODU
Its confusing because this 3m limit is about GPS, but Fused is a combination of GPS, network, sensors, etc, and it appears that ALL Fused locations have this 3m limit. This talk is referring largely to WiFi round trip time to get 1m accuracy, so one issue is that this limit will also effect these locations, and consequently use cases such as indoor navigation.
Another issue is that it appears Fused is doing something to improve on GPS accuracy. I routinely see accuracy on my Pixel 2 from Fused a meter or so more accurate than from the GPS provider. I assume this is from sensors or some other fusion. Then when GPS provider gets down to about 4m the Fused provider will hit 3m and then stop at that limit. Based on this older IO talk I believe it is expected that Fused can do better than GPS alone. Here is a link started at the appropriate point in the talk.https://youtu.be/OEvycEMoLUg?t=1750
So I'm not sure this issue is really resolved. Fused is a bit of black box so I might be getting something wrong here. If thats the case, please let us know how this is working or what might have changed.
How to get one-meter location-accuracy from Android devices (Google I/O '18)
Its confusing because this 3m limit is about GPS, but Fused is a combination of GPS, network, sensors, etc, and it appears that ALL Fused locations have this 3m limit. This talk is referring largely to WiFi round trip time to get 1m accuracy, so one issue is that this limit will also effect these locations, and consequently use cases such as indoor navigation.
Another issue is that it appears Fused is doing something to improve on GPS accuracy. I routinely see accuracy on my Pixel 2 from Fused a meter or so more accurate than from the GPS provider. I assume this is from sensors or some other fusion. Then when GPS provider gets down to about 4m the Fused provider will hit 3m and then stop at that limit. Based on this older IO talk I believe it is expected that Fused can do better than GPS alone. Here is a link started at the appropriate point in the talk.
So I'm not sure this issue is really resolved. Fused is a bit of black box so I might be getting something wrong here. If thats the case, please let us know how this is working or what might have changed.
jd...@gmail.com <jd...@gmail.com> #8
What about when accuracy reported < 3M from a bluetooth external gps device? Should the 3M limitation still exist? It seems as though it does as in debugging a location result I see the sub meter accuracy get changed to 3M limit.
su...@gmail.com <su...@gmail.com> #9
Is this also why Chrome on Android "resets" accuracy to 3.9m? This is a HUGE problem for professional surveying solutions. We are using high precision GPS connected via Bluetooth, and using Mock Location software. We see that Chrome gets the correct accuracy (ie 0.02m), shows this for a second, and then immediately "resets" it to 3.9m, resulting in bad accuracy data.
[Deleted User] <[Deleted User]> #10
Is there any updates on this issue? I'm seeing the same problem as the previous poster: while using an external GPS device which can get sub-meter accuracy and setting this as the mock location provider, I'm still only getting a 3.9m accuracy.
Description
Reproducible steps are provided in the Location samples on GitHub, see issue
I will explicitly add reproducible code here:
Update res/layout/main_activity.xml with the following:
<!-- Add TextView UI (new line 98-104) -->
<TextView
android:id="@+id/accuracy_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="@dimen/small_margin"
android:layout_marginStart="@dimen/small_margin"
android:textSize="@dimen/default_text_size" />
Update MainActivity.java with the following:
// add widget (new line 143)
private TextView mAccuracyTextView;
// add label (new line 148)
private String mAccuracyLabel;
// locate UI widget (new line 174)
mAccuracyTextView = (TextView) findViewById(R.id.accuracy_text);
// set label (new line 180)
mAccuracyLabel = "Accuracy";
// set value of the UI field (new line 409/410)
mAccuracyTextView.setText(String.format(Locale.ENGLISH, "%s: %f", mAccuracyLabel,
mCurrentLocation.getAccuracy()));
Run the updated app. Expected output is the accuracy in the app to match the accuracy reported by device.
Android Build: Tested on 3 devices with the following build numbers:
- OPM2.171019.029
- NRD90M.T710XXU2DRB1
- M4B302
Devices:
- Pixel 2 XL
- Samsung Galaxy Tab S2
- Nexus 5
Expected output
Accuracy in updated sample app should match device accuracy
Current Output
App never shows accuracy below 3M even when device is reporting sub 3M accuracy.
The issue is with the result of calling `mCurrentLocation.getAccuracy()` as the result of that API call is never less than 3M even when the accuracy from `LocationManager` is less than 3M. The current accuracy reported is a fix from
Also add the following details:
- Devices: Nexus 5, Pixel 2 XL, Samsung Galaxy Tab S2
- Google Play Services client library version: 11+
- Google Play Services version on the device: 12.5.29,
- Android SDK Version: 6.0.1, 7.0, 8.1.0, 9.0
- Was this working correctly on a previous version of Google Play Services?
N/A