Example #1
0
    protected bool ShouldUpdateLocation(LocationReading newLocation)
    {
        if (isRawTime() && newLocation.timestamp != currentLocation.timestamp)
        {
            return(true);
        }
        if ((options.maxDistanceFilter > 0) && (LocationReading.HorizontalDistance(rawLocationLast, rawLocationCurrent) > options.maxDistanceFilter))
        {
            return(false);
        }

        if ((newLocation.timestamp == currentLocation.timestamp) || (newLocation.timestamp - currentLocation.timestamp < ((long)(options.updateTime * 1000))))
        {
            return(false);
        }

        if (LocationReading.HorizontalDistance(newLocation, currentLocation) < options.distanceFilter)
        {
            return(false);
        }

        if ((newLocation.accuracy > options.accuracyFilter) && (options.accuracyFilter > 0))
        {
            return(false);
        }


        return(true);
    }