Ask / Submit
9

[bug] GPS reports old location for a few seconds

asked 2015-08-12 07:06:13 +0300

ovekaaven gravatar image

updated 2015-08-12 13:48:21 +0300

When starting a Sailfish or Android app that uses GPS, the app will often (not always) initially get a "fix" on the location where I last used the GPS, instead of the location where I am now. After a few seconds, when the GPS gets a fix on my real position, the app will see me insta-teleport there (and work normally after that).

I suspect this could be why I keep getting banned from Android GPS games like Ingress.

Interestingly, if I try starting a Sailfish app (such as the Jolla Maps) and wait for a proper GPS fix, close it again, and then start an Android app, then the Android app will still see the old location for a while. It's like Dalvik has a memory of the old location that's independent of Sailfish's memory of it.

If Sailfish or Dalvik or whatever must remember and report my old position for some reason, I'd prefer if it at least reported a low accuracy for it, so that these apps would know to wait for the actual GPS fix, instead of seeing my old location and thinking I'm cheating.

Edit: I should note that A-GPS is enabled.

edit retag flag offensive close delete

Comments

Probably not related, but my GPS location has been fixed in Petrozavodsk since I went there earlier this year. Apparently my GPS liked it so much that he wanted to stay there.

Okw ( 2015-08-12 17:22:58 +0300 )edit

@Okw: perhaps your problem is more related to https://together.jolla.com/question/5424/why-does-the-gps-think-im-somewhere-else/

ovekaaven ( 2015-08-13 01:37:27 +0300 )edit

I have same experience when tested kimmoli's position-cli with my fcron job - position-cli discussed in comments here: https://together.jolla.com/question/77022/how-to-access-geolocation-from-command-line/ and source code is here: https://github.com/kimmoli/position-cli/tree/master/src

My findings:

If you run position-cli to get current location, it will give you some location you have been before. For example from my own logs, first date is when the script has been run and second date comes from position-cli:

Thu Aug 13 03:00:00 EEST 2015

Mon Aug 10 18:52:45 2015 61.504648 23.743335

(Yes, I was having fun on Monday :)

If i execute position-cli with -r option (to get new result every second), the second result (and the rest of the results until you break) will give you correct location. If you start the position-cli again, the first result comes from some cache again.

I'm not sure when the location information has been cached, it may have something to do when you have taken pictures or used some gps-related software.

My educated guess is that there is a feature or bug in QPositioning library or something like that.

skuke ( 2015-08-13 09:54:14 +0300 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2015-08-12 10:46:36 +0300

simo gravatar image

Just a workaround, but to avoid possible game bans maybe you could start another Android app using gps, wait for correct fix and then start the Ingress?

edit flag offensive delete publish link more

Comments

Yes, it probably works, but as you said, it's just a workaround. And it requires that I remember to do it every time; forgetting it even once could be enough to get a ban.

ovekaaven ( 2015-08-12 13:36:28 +0300 )edit

yep. By the way, adding tags "android-apps" and "out-of-sync" might help address the issue among sailors at Jolla. Hope you get a more permanent solution too

simo ( 2015-08-12 13:41:16 +0300 )edit

Ok, tags added, thanks.

ovekaaven ( 2015-08-12 13:48:41 +0300 )edit
Login/Signup to Answer

Question tools

Follow
3 followers

Stats

Asked: 2015-08-12 07:06:13 +0300

Seen: 242 times

Last updated: Aug 12 '15