Skip to content Skip to sidebar Skip to footer

Retrieving Geo Location In My App Is Far Less Accurate Than What Google Maps App Shows In The Same Time On My Device

In my app, I've tried two ways of accessing location: a) Using LocationManager and GPS_PROVIDER. I accept location to be processed if it has accuracy 50 or less. App receives locat

Solution 1:

I don't have enough reputation to comment yet so I'm writing an answer.

This is most likely related to the China GPS offset problem. The Chinese government insists on not allowing users to record accurate GPS data in some scenarios ("national security something blah blah") and force companies like Apple/Google to abide by the local laws.

Here is a link with some good information on the topic: http://www.sinosplice.com/life/archives/2013/07/16/a-more-complete-ios-solution-to-the-china-gps-offset-problem

Solution 2:

As in above answer, offset is because of China government regulation. However people managed to get transform used at least by GoogleMaps and HEREMaps. It is here written in C#. Using that you can convert real coordinates to transformed ones with maximum 20 meters error. There are also more accurate implementations.

If you don't want to modify your software, you can use something based on this. It is my simple Xposed module to convert coordinates for all applications using LocationManager.

Post a Comment for "Retrieving Geo Location In My App Is Far Less Accurate Than What Google Maps App Shows In The Same Time On My Device"