Пример #1
0
        public LocationDataModel DefaultLocationData()
        {
            LocationDataModel requestLocationData = new LocationDataModel();

            requestLocationData.lat       = _latitud;
            requestLocationData.lon       = _longitud;
            requestLocationData.cityState = _cityState;
            return(requestLocationData);
        }
Пример #2
0
        public override string ToString()
        {
            LocationDataModel locationDataModel = ITTDataCache.Instance.RetrieveLocationData();

            if (null == locationDataModel)
            {
                locationDataModel = ITTDataCache.Instance.DefaultLocationData();
            }

            return("distance(address, geopoint(" + locationDataModel.lastLatitude + ", " + locationDataModel.lastLongitude + ")) < " + _distanceValue);
        }
Пример #3
0
        public void RequestCombinedActivities(Action <string> callback, Action <string> errorCallback, ITTFilterRequest filter = null)
        {
            LocationDataModel requestLocationData = RetrieveLocationData();

            if (requestLocationData == null)
            {
                requestLocationData = DefaultLocationData();
            }

            //	TODO: Add conversion to lat long call and store it here if lat long is missing
            StartCoroutine(_networkManager.RequestCombinedActivitiesDeals(requestLocationData.lastLatitude, requestLocationData.lastLongitude, filter ?? new ITTFilterRequest(), callback, errorCallback));
        }
Пример #4
0
        public LocationDataModel RetrieveLocationData()
        {
            LocationDataModel latestLocation = null;

            _dataBlob.GetDataEntry((int)DataCacheIndices.LOCATION, data => {
                LocationDataEntry info = data as LocationDataEntry;
                if (null == info)
                {
                    return;
                }
                if (info.Data != null)
                {
                    latestLocation                   = new LocationDataModel();
                    latestLocation.lat               = info.Data.lastLatitude;
                    latestLocation.lon               = info.Data.lastLongitude;
                    latestLocation.lastAltitude      = info.Data.lastAltitude;
                    latestLocation.locationTimeStamp = info.Data.locationTimeStamp;
                    latestLocation.cityState         = info.Data.cityState;
                    latestLocation.zipCode           = info.Data.zipCode;
                }
            });

            return(latestLocation);
        }
Пример #5
0
        public IEnumerator UpdateLocation(Action callback, Action <string> errorCallback, UserFlagsEntry userFlags = null)
        {
            if (!Input.location.isEnabledByUser)
            {
                errorCallback("Location service is not activated.  Please check settings and try again.");
                yield break;
            }

            Input.location.Start();

            int maxWait = 20;

            while (Input.location.status == LocationServiceStatus.Initializing && maxWait > 0)
            {
                yield return(new WaitForSeconds(1));

                maxWait--;
            }

            if (maxWait < 1)
            {
                if (null != errorCallback)
                {
                    errorCallback("Location service timed out. Please try again.");
                    yield break;
                }
            }

            if (Input.location.status == LocationServiceStatus.Failed)
            {
                if (null != errorCallback)
                {
                    errorCallback("Location service is not activated. Please check settings and try again.");
                    yield break;
                }
            }
            else
            {
                if (userFlags == null)
                {
                    ITTDataCache.Instance.Data.GetDataEntry((int)DataCacheIndices.USER_FLAGS, HelperMethods.Instance.FlagCurrentLocation);
                }
                else
                {
                    HelperMethods.Instance.FlagCurrentLocation(userFlags);
                }

                Debug.Log("Retrieved Location: " + Input.location.lastData.latitude + " " + Input.location.lastData.longitude +
                          " " + Input.location.lastData.altitude + " " + Input.location.lastData.timestamp);

                LocationDataModel lastLocationData = new LocationDataModel();
                lastLocationData.lat               = Input.location.lastData.latitude;
                lastLocationData.lon               = Input.location.lastData.longitude;
                lastLocationData.lastAltitude      = Input.location.lastData.altitude;
                lastLocationData.locationTimeStamp = Input.location.lastData.timestamp;

                _dataBlob.UpdateDataEntry((int)DataCacheIndices.LOCATION, lastLocationData);

                Input.location.Stop();

                if (null != callback)
                {
                    callback();
                }
            }
        }