when GPS initialized and started, GPSStatus give me (as expected) a list a satellites.
From the same place (my office ...) I get 18 to 22 satellites on this list.
Is this normal ?
I have to wait to have more than 15 of them to get the PositionChanged to rise, and (as far as i understand) to get a location.
It takes a lot of time, several minutes (because, I think, i'm not facing a window ...).
Is it a way to programmatically set only few sattelite to get a position (or to fire PositionChanger), even if this localisation is not very accurate.
It does'nt really matter for testing ...
From a purely GPS technical viewpoint, you only need three satellites to get a position (two gets you a 2D position, one gives you the time).
Also, I know GPS works here, and this far north, I usually only get 4-6 satellites on a GPS device. On devices which also support GLONASS, I get more, of course.
Hey Pierrem,
I am using the GPS_GpsStatus event to count the satellites like this:
B4X:
Sub GPS_GpsStatus (Satellites As List)
Dim s, I As Int
s=0
For I = 0 To Satellites.Size - 1
Dim Satellite As GPSSatellite
Satellite = Satellites.Get(I)
If Satellite.UsedInFix=True Then s=s+1
Next
If s > 0 AND s < 6 Then
bitmap_gps.Initialize(File.DirAssets, "10_device_access_location_searching.png")
Else If s >=6 Then
bitmap_gps.Initialize(File.DirAssets, "10_device_access_location_found.png")
Else
bitmap_gps.Initialize(File.DirAssets, "10_device_access_location_off.png")
End If
ImageView6.Bitmap = bitmap_gps
Label9.Text = s
End Sub
... but it doesn't exactly solve my problem wich is I have to wait for almost 15 satetlites .usedinfix to be true to see the .positionChanged fired.
And, for me, it's really long to have such number, several minutes.
So, how to reduce this number to get the event positionChanged to be fired ?
If I can find a workaround to get the event fired with only 3 or 4 satellites, it will be great for testing
Maybe, a solution (for test) is to set the .useinfix to true for the/some/each satellites in the list.
How to acheive that ?
And, dig a window in my office (to get good satellites signal ...) is not an option
The .positionChanged event should be not related to the number of satellites, but to the filter applied in gps.start command
Start(MinimumTime As Long, MinimumDistance As Float)
MinimumTime - The shortest period (measured in milliseconds) between events. Pass 0 for highest frequency.
MinimumDistance - The shortest change in distance (measured in meters) for which to raise events. Pass 0 for highest frequency.
As far as I can remember (a while after ...),
the problem was partially solved by placing the mobile closer to a window to get a better satellite signal.