Yes, The LocationSensor is incapable of updating (producing a LocationChanged event) more frequently than once every 20 seconds under ideal conditions. It takes a while to survey as many valid satellite fixes as possible. It takes a cell that long to acquire and get a fix on the necessary satellites to provide an accurate location determination For a partial explanation Tom, re-read the tutorial Using the Location Sensor
You are using a Clock AND the LocationSensor.TimeInterval together? Why? Use only one method. T
While it is possible to get an accurate location determination at less than 20 seconds; the determination will not guarantee Accuracy or firing a LocationChanged event. See * LocationSensor and specifically the advice: Values smaller than 30000ms (30 seconds) are not practical for most devices. Small values may drain battery and overwork the GPS.
Read about Accuracy and the maximum precision possible using the constellation used by the LocationSensor object when using the gps with a modern cell phone or tablet. 15 feet resolution is rarely possible using the LocationSensor. The best resolution possible using the LS is about 2 meters, achievable only during ideal conditions. You could try using a different 'LocationSensor':
- LocationSensor Extension. Accuracy. Geocoder. GeomagneticField by Juan Antonio
- NMEA Extension to get location/NMEA data ($GNGGA and $GPGGA) by Juan Antonio. These make use of several satellite constellations (which the LS cannot access) to improve Accuracy...be aware these extensions only work with the higher Android operating systems and with phones that have better accuracy ability (capable of receiving multiple satellite constellations).
Otherwise, consider * Advanced Location Sensor Extension by Niclas Gins which can report the results of NMEA sentences more frequently and those values can be used to trigger a LocationChanged event but at a consequence of reducing Accuracy. Sometimes you will get a great reading, other times not.
It depends. Use a distance calculation using Blocks or use the built-in capabilities of the Map component to calculate a straight line distance. My experiment indicate they are equally accurate and fast. Try both to determine which achieves your criteria.
The points are on a Canvas, not a Map component? If your points are on a Canvas makes this issue complex. Canvas coordinates do not map to geocoordinates. You should either use a Map component or write geocoordinate to Canvas x,y conversion code. Both are possible however a conversion from geocoordinates to Canvas x,y positions loses a lot of precision.
Regards,
Steve