I am working on a CoreLocation based application wich should show the position of the user on a map.
My current problem is, that the precision of CL is not very good.
I am testing the app in an urban environment, so i am walking through a the streets around our office and see how precise it is. The horizontalAccuracy is usually around 47m - 50m when i am walking, and updates occur randomly between every 10 seconds and 1 minute. The updated position can vary between almost accurate and 20 meters or more off my real position. When i stop and wait for a minute, the position will almost always be correct within a minute, and the precision may rise to 17m.
I have tested this with three iPhones (3G and 3GS) and one iPod Touch(which is less precise).
However, there is a difference in the final usage of the product: The target audience of our product will use it in a rural, open environment without any houses nearby.
Will this improve accuracy?
How accurate can the iPhone get at best in terms of horizontalAccuracy?
Are there any best practices, tips and tricks to improve the precision?