internal void StartLocationUpdates()
        {
            LocationRequest mLocationRequest = new LocationRequest();
              mLocationRequest.SetInterval(CrossGeofence.LocationUpdatesInterval == 0 ? 30000 : CrossGeofence.LocationUpdatesInterval);
              mLocationRequest.SetFastestInterval(CrossGeofence.FastestLocationUpdatesInterval == 0 ? 5000 : CrossGeofence.FastestLocationUpdatesInterval);
              string priorityType="Balanced Power";
              switch(CrossGeofence.GeofencePriority)
              {
              case GeofencePriority.HighAccuracy:
                  priorityType="High Accuracy";
                  mLocationRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
                  break;
              case GeofencePriority.LowAccuracy:
                  priorityType="Low Accuracy";
                  mLocationRequest.SetPriority(LocationRequest.PriorityLowPower);
                  break;
              case GeofencePriority.LowestAccuracy:
                  priorityType="Lowest Accuracy";
                  mLocationRequest.SetPriority(LocationRequest.PriorityNoPower);
                  break;
              case GeofencePriority.MediumAccuracy:
              case GeofencePriority.AcceptableAccuracy:
              default:
                  mLocationRequest.SetPriority(LocationRequest.PriorityBalancedPowerAccuracy);
                  break;
              }

              Debug.WriteLine("{0} - {1}: {2}", CrossGeofence.Id, "Priority set to", priorityType);
              //(Regions.Count == 0) ? (CrossGeofence.SmallestDisplacement==0?50 :CrossGeofence.SmallestDisplacement): Regions.Min(s => (float)s.Value.Radius)
              if(CrossGeofence.SmallestDisplacement>0)
              {
              mLocationRequest.SetSmallestDisplacement(CrossGeofence.SmallestDisplacement);
              Debug.WriteLine("{0} - {1}: {2} meters", CrossGeofence.Id, "Location smallest displacement set to", CrossGeofence.SmallestDisplacement);
              }

              LocationServices.FusedLocationApi.RequestLocationUpdates(mGoogleApiClient, mLocationRequest, GeofenceLocationListener.SharedInstance);
        }
Exemplo n.º 2
0
        public async Task <bool> StartListeningAsync(int minTime, double minDistance, bool includeHeading = false)
        {
            if (!client.IsConnected)
            {
                await ConnectAsync();
            }

            if (!client.IsConnected)
            {
                return(await Task.FromResult(false));
            }

            var locationRequest = new LocationRequest();

            locationRequest.SetSmallestDisplacement(Convert.ToInt64(minDistance))
            .SetFastestInterval(minTime)
            .SetInterval(minTime * 3)
            .SetMaxWaitTime(minTime * 6)
            .SetPriority(GetPriority());

            var result = await LocationServices.FusedLocationApi
                         .RequestLocationUpdatesAsync(client, locationRequest, callbacks);

            if (result.IsSuccess)
            {
                IsListening = true;
            }

            return(result.IsSuccess);
        }
Exemplo n.º 3
0
 void BuildLocationRequest()
 {
     LocationRequest1 = new LocationRequest();
     LocationRequest1.SetPriority(LocationRequest.PriorityHighAccuracy);
     LocationRequest1.SetInterval(5000);
     LocationRequest1.SetFastestInterval(3000);
     LocationRequest1.SetSmallestDisplacement(10f);
 }
Exemplo n.º 4
0
 private static void LocationReqvest()
 {
     locationRequest = new LocationRequest();
     locationRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
     locationRequest.SetInterval(100);
     locationRequest.SetFastestInterval(50);
     locationRequest.SetSmallestDisplacement(1);
 }
Exemplo n.º 5
0
 private void CreateLocationRequest()
 {
     mLocationRequest = new LocationRequest();
     mLocationRequest.SetInterval(UPDATE_INTERVAL);
     mLocationRequest.SetFastestInterval(FATEST_INTERVAL);
     mLocationRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
     mLocationRequest.SetSmallestDisplacement(DISPLACEMENT);
 }
Exemplo n.º 6
0
 private void BuildLocationRequest()
 {
     locationRequest = new LocationRequest();
     locationRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
     locationRequest.SetInterval(8000);
     locationRequest.SetFastestInterval(6000);
     locationRequest.SetSmallestDisplacement(10f);
 }
Exemplo n.º 7
0
 private void BuildLocationRequest()
 {
     locationRequest = new LocationRequest();
     locationRequest.SetPriority(LocationRequest.PriorityBalancedPowerAccuracy);
     locationRequest.SetInterval(1000);
     locationRequest.SetFastestInterval(3000);
     locationRequest.SetSmallestDisplacement(10f);
 }
Exemplo n.º 8
0
 void CreateLocationRequest()
 {
     mLocationRequest = new LocationRequest();
     mLocationRequest.SetInterval(UPDATE_INTERVAL);
     mLocationRequest.SetFastestInterval(FASTEST_INTERVAL);
     mLocationRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
     mLocationRequest.SetSmallestDisplacement(DISPLACEMENT);
     locationClient = LocationServices.GetFusedLocationProviderClient(this);
 }
Exemplo n.º 9
0
 void CreateLocationRequest()
 {
     mLocationRequest = new LocationRequest();
     mLocationRequest.SetInterval(IntegerConstants.GetUpdateInterval());
     mLocationRequest.SetFastestInterval(IntegerConstants.GetFastestInterval());
     mLocationRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
     mLocationRequest.SetSmallestDisplacement(IntegerConstants.GetDisplacement());
     locationProviderClient = LocationServices.GetFusedLocationProviderClient(Activity);
     CheckLocationSettings();
 }
        LocationRequest CreateLocationRequest()
        {
            var locationRequest = new LocationRequest();

            locationRequest.SetSmallestDisplacement((float)smallestDisplacementMeters);
            locationRequest.SetPriority(accuracy);
            locationRequest.SetInterval(interval);
            locationRequest.SetFastestInterval(fastestInterval);
            return(locationRequest);
        }
Exemplo n.º 11
0
 void CreateLocationRequest()
 {
     mLocationRequest = new LocationRequest();
     mLocationRequest.SetInterval(UPDATE_INTERVAL);
     mLocationRequest.SetFastestInterval(FAST_INTERVAL);
     mLocationRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
     mLocationRequest.SetSmallestDisplacement(DISPACEMENT);
     mLocationCallback.MyLocation += MLocationCallback_MyLocation;
     LocationProviderClient        = LocationServices.GetFusedLocationProviderClient(Activity);
 }
Exemplo n.º 12
0
 private void CreateLocationRequest()
 {
     locationRequest = LocationRequest.Create();
     locationRequest.SetInterval(UPDATE_INTERVAL);
     locationRequest.SetFastestInterval(UPDATE_FASTEST_INTERVAL);
     locationRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
     locationRequest.SetSmallestDisplacement(DISPLACEMENT);
     locationClient   = LocationServices.GetFusedLocationProviderClient(this);
     locationCallBack = new LocationCallBackHelper();
     locationCallBack.CurrentLocation += LocationCallBack_CurrentLocation;
 }
Exemplo n.º 13
0
        public LocationService(IMvxAndroidGlobals androidGlobals, IMvxAndroidCurrentTopActivity topActivity)
        {
            _androidGlobals = androidGlobals;
            _topActivity    = topActivity;

            _locationRequest = LocationRequest.Create();
            _locationRequest.SetSmallestDisplacement(_displacement);
            _locationRequest.SetPriority(LocationRequest.PriorityLowPower);

            this.InitializeGoogleAPI();
        }
Exemplo n.º 14
0
 private void BuildLocationRequest()
 {
     locationRequest = new LocationRequest();
     locationRequest.SetPriority(LocationRequest.PriorityBalancedPowerAccuracy);
     if (StaticBox.Sensors["Местоположение контейнера"] != "На складе" || StaticBox.Sensors["Местоположение контейнера"] != "У заказчика")
     {
         locationRequest.SetInterval(1000);
         locationRequest.SetFastestInterval(3000);
         locationRequest.SetSmallestDisplacement(10f);
     }
 }
Exemplo n.º 15
0
 void CreateLocationReq()
 {
     myLocRequest = new LocationRequest();
     myLocRequest.SetInterval(Update_Interval);
     myLocRequest.SetFastestInterval(Fastest_Interval);
     myLocRequest.SetSmallestDisplacement(Displacement);
     myLocRequest.SetPriority(LocationRequest.PriorityBalancedPowerAccuracy);
     locApiClient                         = LocationServices.GetFusedLocationProviderClient(this);
     myLocationCallbackHelper             = new LocationCallbackHelper();
     myLocationCallbackHelper.MyLocation += MLocationCallbackHelper_MyLocation;
 }
Exemplo n.º 16
0
 void CreateLocationRequest()
 {
     mLocationRequest = new LocationRequest();
     mLocationRequest.SetInterval(UPDATE_INTERVAL);
     mLocationRequest.SetFastestInterval(FASTEST_INTERVAL);
     mLocationRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
     mLocationRequest.SetSmallestDisplacement(DISPLACEMENT);
     locationClient = LocationServices.GetFusedLocationProviderClient(this);
     //to get location updated
     mLocationCallback             = new LocationCallbackHelper();
     mLocationCallback.MyLocation += MLocationCallback_MyLocation;
 }
Exemplo n.º 17
0
 void CreateLocationRequest()
 {
     mLocationRequest = new LocationRequest();
     mLocationRequest.SetInterval(5);
     mLocationRequest.SetFastestInterval(5);
     mLocationRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
     mLocationRequest.SetSmallestDisplacement(1);
     mLocationCallback.OnLocationFound += MLocationCallback_OnLocationFound;
     if (locationProviderClient == null)
     {
         locationProviderClient = LocationServices.GetFusedLocationProviderClient(this);
     }
 }
Exemplo n.º 18
0
        async Task SetupLocationProvider()
        {
            var LocRequest = new LocationRequest();

            LocRequest.SetInterval(1000);
            LocRequest.SetFastestInterval(10 * 1000);
            LocRequest.SetSmallestDisplacement(100);
            LocRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
            LocationProviderClient = LocationServices.GetFusedLocationProviderClient(this);
            var locationCallback = new LocationCallbacker();

            locationCallback.MyLocationHandler = LocationCallback_LocationResult;
            await LocationProviderClient.RequestLocationUpdatesAsync(LocRequest, locationCallback);
        }
Exemplo n.º 19
0
 private void BuildLocationRequest()
 {
     try
     {
         locationRequest = new LocationRequest();
         locationRequest.SetPriority(LocationRequest.PriorityHighAccuracy);
         locationRequest.SetInterval(5000);
         locationRequest.SetFastestInterval(3000);
         locationRequest.SetSmallestDisplacement(10f);
     }
     catch (Exception ex)
     {
         Toast.MakeText(this, GetString(Resource.String.fatch_location), ToastLength.Short).Show();
     }
 }
Exemplo n.º 20
0
        public void Start(LocationConfigBase config, Action <GeoLocation> locationChanged, Action <Exception> locationError)
        {
            _LocationChanged = locationChanged;
            _LocationError   = locationError;

            LocationRequest request = new LocationRequest().SetPriority((config.Accuracy == LocationAccuracy.Course) ? LocationRequest.PriorityLowPower : LocationRequest.PriorityHighAccuracy);

            if (config.MovementThreshold > 0)
            {
                request.SetSmallestDisplacement(config.MovementThreshold);
            }
            else
            {
                request.SetInterval(config.UpdateInterval).SetFastestInterval(config.UpdateInterval);
            }
            Task.Run(async() => await _Client.RequestLocationUpdatesAsync(request, this));
        }
Exemplo n.º 21
0
        private void Resume()
        {
            if (_apiClient?.IsConnected != true)
            {
                return;
            }

            _locRequest.SetPriority(AppSettings.Default.GeoTrackingServicePriority);
            _locRequest.SetSmallestDisplacement(AppSettings.Default.GeoTrackingServiceSmallestDisplacementMeters);

            //_locRequest.SetFastestInterval(500);
            //_locRequest.SetInterval(1000);
            _locRequest.SetFastestInterval(AppSettings.Default.GeoTrackingServiceFastestIntervalMsec);
            _locRequest.SetInterval(AppSettings.Default.GeoTrackingServiceIntervalMsec);

            //_locRequest.SetNumUpdates(NumUpdates);

            LocationServices.FusedLocationApi.RequestLocationUpdates(_apiClient, _locRequest, this);
        }
Exemplo n.º 22
0
        private void SetLocationRequest(LocationRequest request)
        {
            TableLayout table = FindViewById <TableLayout>(Resource.Id.callback_table_layout_show);
            Dictionary <string, string> paramList = new Dictionary <string, string>();

            TableRow[] rows = new TableRow[table.ChildCount];
            for (int i = 0; i < rows.Length; i++)
            {
                rows[i] = (TableRow)table.GetChildAt(i);
                paramList[((TextView)rows[i].GetChildAt(0)).Text] = ((EditText)rows[i].GetChildAt(1)).Text;
            }
            request.SetPriority(int.Parse(paramList[LocationRequestConstants.Priority]));
            request.SetInterval(long.Parse(paramList[LocationRequestConstants.Interval]));
            request.SetFastestInterval(long.Parse(paramList[LocationRequestConstants.FastestInterval]));
            request.SetExpirationTime(long.Parse(paramList[LocationRequestConstants.ExpirationTime]));
            request.SetExpirationDuration(long.Parse(paramList[LocationRequestConstants.ExpirationDuration]));
            request.SetNumUpdates(int.Parse(paramList[LocationRequestConstants.NumUpdates]));
            request.SetSmallestDisplacement(float.Parse(paramList[LocationRequestConstants.SmallestDisplacement]));
            request.SetMaxWaitTime(long.Parse(paramList[LocationRequestConstants.MaxWaitTime]));
            request.SetNeedAddress(bool.Parse(paramList[LocationRequestConstants.NeedAddress]));
            request.SetLanguage(paramList[LocationRequestConstants.Language]);
            request.SetCountryCode(paramList[LocationRequestConstants.CountryCode]);
        }
 LocationRequest CreateLocationRequest()
 {
     var locationRequest = new LocationRequest();
     locationRequest.SetSmallestDisplacement((float)smallestDisplacementMeters);
     locationRequest.SetPriority(accuracy);
     locationRequest.SetInterval(interval);
     locationRequest.SetFastestInterval(fastestInterval);
     return locationRequest;
 }
        protected override void PlatformSpecificStart(MvxLocationOptions options)
        {
            if (_googleApiClient != null)
                throw new MvxException("You cannot start MvxLocation service more than once");

            if (GooglePlayServicesUtil.IsGooglePlayServicesAvailable(Context) != ConnectionResult.Success)
                throw new MvxException("Google Play Services are not available");

            _locationRequest = LocationRequest.Create();
            _locationRequest.SetInterval((long)options.TimeBetweenUpdates.TotalMilliseconds);
            _locationRequest.SetSmallestDisplacement(options.MovementThresholdInM);
            _locationRequest.SetFastestInterval(1000);

            _locationRequest.SetPriority(options.Accuracy == MvxLocationAccuracy.Fine
                ? LocationRequest.PriorityHighAccuracy
                : LocationRequest.PriorityBalancedPowerAccuracy);

            _googleApiClient = new GoogleApiClient.Builder(this.Context)
                .AddApi(LocationServices.API)
                .AddConnectionCallbacks(_connectionCallBacks)
                .AddOnConnectionFailedListener(_connectionFailed)
                .Build();

            //_locationClient = new LocationClient(Context, _connectionCallBacks, _connectionFailed);
            //_locationClient.Connect();
            _googleApiClient.Connect();
        }