On 03/22/2010 01:52 PM, JFrog wrote:
The application under development was to distinguish between the
current location of the android phone based upon GPS signal when it
was available. When it is not available, alternate methods are being
used to distinguish the user's location.
The application uses a private locationlistener class that
implements the LocationListener class. The code within the
onLocationChanged( ) method to be overridden will draw the location on
the google map as a dot as they are received.
I have noticed however that something is amiss. If you start
outside the building, it will estimate your position with several dots
around your current location. When you walk through a building where
you don't get GPS, the dots are not drawn as expected, but as soon as
you step outside again on the other side of the building it rapidly
draws dots far away from (but leading up to) your location, until it
gets to your actual current location. I don't understand how these
other values are retrieved and why they seem to poke their ugly heads
in, once the user steps back outside.
This is completely to be expected. Check the accuracy for each
point as you go outside, and you'll see the accuracy gradually get
better. This is because the GPS doesn't have a very good lock (if at all)
on where the satellites went while you were indoors, so it needs to
figure out your position again.
It almost seems as though it queues up an estimated route travelled
based on the previous gps location and tries to connect them with
several updates. I'm trying to understand the reasoning behind why it
would do this, rather than just provide me with actual GPS signals
received when they are available.
It's possible they do that, but I tend to doubt it. In any case,
the reason they do any sort of estimation heuristics is because
it takes a very long time to start with zero knowledge of where
the satellites are (order of minutes). Be thankful.
And I'm pretty sure you don't want to be doing the signal
processing of the raw satellite data in java ;-)
Mike
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
To unsubscribe from this group, send email to
android-developers+unsubscribegooglegroups.com or reply to this email with the words
"REMOVE ME" as the subject.